On 1 May 2009, at 17:29, Brian Eaton wrote:
On Fri, May 1, 2009 at 2:30 AM, Ian Boston <[email protected]> wrote:
Have you tried setting the context classloader to the webapp
classloader
around that method call ?
I don't see a method call to fix, unfortunately. This happens when
jetty tries to compile a jsp, there is no shindig code in the stack
until too late.
I think this is the flow. First:
- jetty starts shindig with webapp class loader
- shindig loads ExpressionFactory and ExpressionFactoryImpl with web
app class loader
Later:
- jetty starts JSP compiler with context class loader (system class
loader, maybe?)
***bug*** load ExpressionFactory with context class loader
- switch to web app class loader
- JSP compiler calls ExpressionFactory.newInstance
- newInstance finds ExpressionFactoryImpl from web app class loader
- then there's a cast to the wrong version of ExpressionFactory.class,
and we die.
If I'm right, I think we've found a jetty bug. I might be wrong. I
haven't found the right version of the jetty code to step through to
see what's going on.
Yes sounds like a bug with the jsp compiler.
What happens in Tomcat with the same glassfish el jar in shared ?
The fix from the earlier version might just have been due to no el jar
in shared ?
Ian