[
https://issues.jboss.org/browse/AS7-3892?page=com.atlassian.jira.plugin.s...
]
Garry Dias commented on AS7-3892:
---------------------------------
A similar problem happens when I deploy my _WAR_ with empty _WEB-INF/lib_ directory in
_JBoss 7.1.1.Final_.
My lib directory is empty because all my required libs (including _spring-web-3.2.9.jar_)
are deployed in my custom module _JBOSS_HOME/modules/com/tests/commomlibs/main/_.
Debugging _ServletContainerInitializerDeploymentProcessor.processHandlesType_ method I
detected that not a single class is added to _class_ variable and the method returns an
empty Set for each _processHandlesType_ method invocation (during my app deployment via
JBoss web console).
This problem does not happen when a web.xml is included in WEB-INF directory.
I have used this project to test
https://github.com/rajendersaini/javaCfg.
My I open a new Issue? May I doing something wrong?
Thanks
Integration with SpringServletContainerInitializer incorrect
------------------------------------------------------------
Key: AS7-3892
URL:
https://issues.jboss.org/browse/AS7-3892
Project: Application Server 7
Issue Type: Bug
Components: Server, Web
Affects Versions: 7.0.2.Final, 7.1.0.Final
Reporter: Martin Vanek
Assignee: Jason Greene
Fix For: 7.1.1.Final
Recently I have tried to install simple Spring 3.1 MVC application without web.xml to
jboss 7.0.2. The context failed to load, only message indicating the something is wrong is
from spring:
INFO [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/test]] (MSC
service thread 1-3) No Spring WebApplicationInitializer types detected on classpath.
I have tried to investigate the problem and it seems that problem is in class
org.jboss.as.web.deployment.ServletContainerInitializerDeploymentProcessor. The reason is
that spring uses interface WebApplicationInitializer in @HandlesTypes annotation and the
method processHandlesType of class ServletContainerInitializerDeploymentProcessor scans
only subclasses. I guess Spring guys did not nothing wrong in implementation of the
ServletContainerInitializer so I think it is the problem of JBoss.
@HandlesTypes(WebApplicationInitializer.class)
public class SpringServletContainerInitializer implements ServletContainerInitializer {
....
}
I guess the processHandlesType method has to be changed something like this.
private Set<ClassInfo> processHandlesType(DotName typeName, Class<?> type,
CompositeIndex index) throws DeploymentUnitProcessingException {
Set<ClassInfo> classes = new HashSet<ClassInfo>();
if (type.isAnnotation()) {
.....
} else {
classes.addAll(index.getAllKnownSubclasses(typeName));
classes.addAll(index.getAllKnownImplementors(typeName));
}
}
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)