| Summary: | JSF2 fails to initialize | ||
|---|---|---|---|
| Product: | [RT] Jetty | Reporter: | Rostislav Hristov <rostislav.hristov> |
| Component: | server | Assignee: | Jan Bartel <janb> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | CC: | janb, jetty-inbox, moonblade.wolf |
| Version: | unspecified | ||
| Target Milestone: | 8.0.0.M2 | ||
| Hardware: | Macintosh | ||
| OS: | Mac OS X - Carbon (unsup.) | ||
| Whiteboard: | |||
|
Description
Rostislav Hristov
Fixed for 8.0.0.M2. Wow, that was tricky to find! JSF has some pretty hairy startup configuration code. It turns out that in jetty-8.0.0.M0 the configuration code was being invoked by our TagLibConfiguration class which looked for .tld files and extracted any listeners (in this case the com.sun.faces.config.ConfigureListener from jsf-core.tld) and set them up in the container. For jetty-8.0.0.M1 we removed the TagLibConfiguration class as the jsp-2.2 implementation we use has a ServletContainerIntializer that does the same job, but it appears its optimized for glassfish and explicitly ignores the jsf-core.tld file. That wouldn't have been a problem, as faces also has a ServletContainerInitializer that would do the configuration, except that it was being run AFTER the faces servlet was initialized due to the non-0 load-on-startup value in web.xml. So I've moved the ServletContainerInitializers to always be called before any servlets are initialized. As a workaround until 8.0.0.M2 comes out, you can define a listener in web.xml for the faces configuration listener: <listener> <listener-class>com.sun.faces.config.ConfigureListener</listener-class> </listener> Hello, just created an account to join this conversation. The problem is still happenning in jetty-maven-plugin:8.0.3.v20111011:run I have to make use of the ConfigureListener to make this work. Thanks ! |