]
Christian Kaltepoth commented on SOLDER-220:
--------------------------------------------
@Jason: Thanks! I'm happy to see that all the work I spent for implementing this
"loading web resources without ServletContext" code pays off and that it is not
just useful for the project stage extension in SeamFaces but for other components too! :)
Solder-config configuration does not work for WEB-INF/beans.xml files
(but weld does work on them)
--------------------------------------------------------------------------------------------------
Key: SOLDER-220
URL:
https://issues.jboss.org/browse/SOLDER-220
Project: Solder
Issue Type: Bug
Affects Versions: 3.0.0.Final
Environment: JBoss 7, Tomcat 6, linux, IntelliJ
Reporter: Geoffrey De Smet
Assignee: Jason Porter
Priority: Critical
Fix For: 3.1.0.Final
The CDI spec says that in a WAR file, WEB-INF/beans.xml should be used for CDI
configuration.
Weld's configuration such as <weld:scan> works fine in that WEB-INF/beans.xml
file.
Solder's configuration does not work on JBoss AS 7, Tomcat 6 and Jetty 6: any
configuration in that in that WEB-INF/beans.xml file is ignored.
To reproduce:
Create a war with a bean MyBean.
Use solder-config on WEB-INF/beans.xml to set an parameter on MyBean
that MyBean uses in a @PostConstruct method (or crashes if it's not set).
Old Description:
================
Does not work in jboss 7, tomcat 6 and gwt hosted mode (~ jetty 6).
Occurs for both exploded war and not exploded war.
Strangely enough, it doesn't ignore it for the root xml schema validation.
The problem is probably in ClasspathResourceLoader.getResources(String name):
when name = "WEB-INF/beans.xml", it returns an empty Set, while it should
contain something like:
/.../guvnor/guvnor-webapp/target/guvnor-webapp-5.3.0-SNAPSHOT/WEB-INF/beans.xml
Thread.currentThread().getContextClassLoader() returns an instance of
org.apache.catalina.loader.WebappClassLoader
When asking
Thread.currentThread().getContextClassLoader().getResourceAsStream("WEB-INF/beans.xml")
or
Thread.currentThread().getContextClassLoader().getResourceAsStream("/WEB-INF/beans.xml")
it returns null (so the catalina WebappClassLoader returns null for that).
even this returns null:
or
Thread.currentThread().getContextClassLoader().getResourceAsStream("WEB-INF/web.xml")
yet asking a resource, such as
Thread.currentThread().getContextClassLoader().getResourceAsStream("/drools-asseteditors.xml")
does not return null, but the correct resource.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: