20070302 Friday March 02, 2007

Upgrading to Tomcat 6 Erik did it, so I tried it as well. This site is now running Tomcat 6.0.10 and it has to be the least painful major Tomcat upgrade I've ever done. By major, I mean upgrading from one version number (5.5.17) to the next. Apparently, no XML files changed (like they did from 4.1.x -> 5.0.x -> 5.5.x) because I was able to copy over conf/server.xml and conf/Catalina/** without any issues. The only change I had to make was to copy commons-logging.jar from Roller's WEB-INF/lib to JSPWiki's.

I have seen a couple of the following errors in my log files since I upgraded, so if you see any strange behavior, please let me know.

2-Mar-2007 12:36:10 AM org.apache.tomcat.util.http.Parameters processParameters
WARNING: Parameters: Character decoding failed. Parameter skipped.
java.io.CharConversionException: EOF
        at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:83)
        at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:49)
        at org.apache.tomcat.util.http.Parameters.urlDecode(Parameters.java:410)
        at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:392)
        at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:508)
        at org.apache.tomcat.util.http.Parameters.handleQueryParameters(Parameters.java:266)
        at org.apache.catalina.connector.Request.parseParameters(Request.java:2404)
        at org.apache.catalina.connector.Request.getParameterValues(Request.java:1089)
        at org.apache.catalina.connector.RequestFacade.getParameterValues(RequestFacade.java:396)
        at javax.servlet.ServletRequestWrapper.getParameterValues(ServletRequestWrapper.java:189)
        at org.acegisecurity.wrapper.SavedRequestAwareWrapper.getParameter(SavedRequestAwareWrapper.java:325)
        at org.apache.roller.ui.rendering.velocity.deprecated.OldPageRequest.(OldPageRequest.java:164)
        at org.apache.roller.ui.rendering.velocity.deprecated.RedirectServlet.figurePageRedirect(RedirectServlet.java:285)
        at org.apache.roller.ui.rendering.velocity.deprecated.RedirectServlet.doGet(RedirectServlet.java:131)

I tested AppFuse 2.0 on Tomcat 6.0.10 earlier today and impressed that 1) Cargo worked perfectly and 2) most of the web frameworks worked. Which one didn't? You guessed it - good ol' JSF. That's OK though, the JSF version of AppFuse (MyFaces 1.1.5 with Facelets 1.1.11) doesn't work with Jetty 6.1.1 either. The good news is I found a workaround - removing the el-api dependency from my pom.xml makes it work on both.

    <dependency>
        <groupId>javax.el</groupId>
        <artifactId>el-api</artifactId>
        <version>1.2</version>
    </dependency>

If I remove this dependency, everything works fine on Tomcat 6.0.10 and Jetty 6.1.1. Unfortunately, it seems this dependency is needed for Tomcat 5.x. Hopefully some fancy stuff with Maven profiles can fix this incompatibility. Posted in Java at Mar 02 2007, 12:44:46 AM MST 9 Comments

Comments:

Ah, I see, you would have the javax.el.* classes in /WEB-INF/lib. This could cause classloading issues, since there's no special handling for this at the moment. As for the error, it's about decoding %xx in your URL parameters (and there are not enough chars). I don't think this code changed in a meaningful way.

Posted by Remm on March 02, 2007 at 04:55 AM MST #

You can use the profile setting in maven, and in this way to specify different configurations - a good place to look is the pom of testng, where there are two configurations for jdk 1.4 and jdk 1.5.

Posted by David Rabinowitz on March 03, 2007 at 03:16 AM MST #

I miss the admin webapp, no separate download is available for 6.0.10 and I was wondering if there are any better solutions than plain JMX for remote read/write access to webapps and server configuration...

Posted by magomarcelo on March 04, 2007 at 05:18 PM MST #

It would be nice if you could repeat the application server performance tests (Tomcat vs. Jetty vs. whatever) but this time with Tomcat 6, Jetty 6.1.1, etc.

There was also a discussion about Tomcat on TSS (aparently APR is super fast :) ), but I would believe more results from Appfuse :).

Thank you,

D.

Posted by Demetrios Kyriakis on March 07, 2007 at 03:58 AM MST #

i want to upgrade my site from tomcat 5.0 to 6.0. does someone have an migration guide for this purpose? what are the effects? thx

Posted by rupan on March 28, 2007 at 06:53 AM MDT #

Has anyone installed Tomcat 6 under OS X? I keep getting an error about the BASEDIR not being set property. Both JAVA_HOME and CATALINA_HOME appear to be set properly.is set properly, JAVA_HOME is set properly... Java version is 1.5.0_07 (latest available on the max). Any ideas?

Posted by mark_k on April 05, 2007 at 09:39 PM MDT #

Never mind... found the problem. After unpacking, the shell scripts do not have the execute attribute on. A simple 'chmod 755 *.sh' fixed the problem.

Posted by mark_k on April 06, 2007 at 06:05 AM MDT #

I was hoping for a completely painless experience however the file structure is different between 5 and 6. There is no server directory under v6. This kinda upsets the build.xml. Is there a version of the build file that works with v6. I am using the old school version of appfuse i.e. 1.9.4. Nigel

Posted by Nigel in NZ on May 27, 2007 at 06:40 PM MDT #

I am having issues with roller on 6.0.10 More particularly with the JDBC connection and hibernate Any help appreciated

Posted by tony on July 19, 2007 at 10:20 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed
Click me to subscribe
Matt Raible is the Lead UI Architect at LinkedIn. The opinions on this site are mine, not my employers.
« August 2008
SunMonTueWedThuFriSat
     
1
2
3
4
6
7
8
9
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
      
Today

Recent Entries

Tag Cloud