tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dale Ogilvie" <Dale_Ogil...@trimble.com>
Subject RE: ClassCastException org.apache.jasper.runtime.ELContextImpl cannot be cast to org.apache.jasper.el.ELContextImpl
Date Fri, 10 Aug 2012 04:13:32 GMT
-----Original Message-----
From: Konstantin Kolinko [mailto:knst.kolinko@gmail.com] 

>1. Tomcat 7.0.26 and earlier has static field
JspApplicationContextImpl.ExpressionFactory, so the EL implementation is
effectively shared between web applications.

Thanks for that info about the earlier bug in 7.0.26 Konstantin.

>2. I do not know why you are observing the issue with 7.0.27.
>Either the fix was incomplete,
>or maybe the JSPs were compiled with an earlier version of Tomcat. Try
clearing the work folder so that they are recompiled.
>or it is caused specifically by "other vendor" using jasper package
names in their classes. E.g. when some jasper classes were loaded by
Tomcat by the first time, it might be loaded from 3rd party JAR instead
of Tomcat.

The work directory would have been empty when the apps started up with
7.0.27, it wasn't an in place upgrade from the earlier 7.x version. I
also specifically cleaned the app1 work directory while I was trying to
figure out what was happening.

It does concern me that there was a known issue that was fixed, and here
I am seeing this EL impl instance sharing between apps in the "fixed
version".

Mark's "Don't do that" in terms of loading container jars in apps
generally is a solution, but the trick is we didn't create the problem
intentionally. We got scuppered by a maven dependency and Tomcat didn't
protect us. Ideally bad behaviour of an app should not break the other
apps in the container. 

Dale




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message