• We are moving from Tomcat 5.5 (under Debian Etch) to Tomcat 7 (Debian Wheezy). Most of the migration was quite easy, but we had 2 blocking issues.

    One of them was raised when asking JDK to use proxies when contacting external web sites(CAS ticket validation, in our case). Setting proxies in tomcat is done by passing -Dhttp.proxy* parameters to the JDK (in /etc/default/tomcat7i file). When these paremeters are set, tomcat dies quickly. In catalina.out, one can find GLib-GIO-ERROR **: Settings schema 'org.gnome.system.proxy' is not installed. This errors seems to linked with Open JDK 7, provided by Debian. Swiching to JDK 7 from Oracle resolves the issue. We didn't fill a bug report yet, but I'm going to take some time to fill a bug report in order to switch back to Open JDK as soon as possible.

    The second one concerned JSP. In fact, a change was made in the way the JSP syntax was checked. In tomcat 5.5, by default, the syntax checking was less strict and didn't lead an exception when JSP didn't conform to the Java Language Specification for Java identifiers. When this exception occurs, one can notice javax.el.ELException: Failed to parse the expression followed by the expression causing the exception and the log file shows the exact jsp file which triggered the exception. After few research, We found to 2 ways to correct the issue:

    • Setting org.apache.el.parser.SKIP_IDENTIFIER_CHECK to True (i.d. adding -Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true to /etc/default/tomcat7 file).

    • Correcting JSP pages in order to conform Java Language Specification for Java identifiers.
    • Using the first solution is quite easy: add the parameter to /etc/default/tomcat7 and restart tomcat. But it's messy: using reserved keywords as indentifiers may lead to unkown issues. But, as the application is developped and maintained in our company, we decided to correct all the JSP pages, which took few minutes.

    At the moment, our test server is running under Tomcat 7 and doing quite well. We will move our pre production server and then, the production server to Tomcat 7 in few days.