[
https://issues.jboss.org/browse/SOLDER-220?page=com.atlassian.jira.plugin...
]
Geoffrey De Smet updated SOLDER-220:
------------------------------------
Summary: Solder-config configuration does not work for WEB-INF/beans.xml files
(but it weld does work on them) (was: Seam-config ignores WEB-INF/beans.xml (and
WEB-INF/seam-beans.xml) in jboss 7 and tomcat 6 for seam-config configuration (but not
weld configuration))
Environment: JBoss 7, Tomcat 6, linux, IntelliJ (was: Tomcat 6, linux, IntelliJ)
Description:
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.
was:
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.
Solder-config configuration does not work for WEB-INF/beans.xml files
(but it 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
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:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira