Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

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 10 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 05: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 04: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 06: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 04: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 #

As rupan asked above, is there a migration guide for running AppFuse on Tomcat 6?

Posted by JT on July 26, 2010 at 04:20 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed