Filter int parameter "actionPackages" fails on JBoss5
-----------------------------------------------------

                 Key: WW-2948
                 URL: https://issues.apache.org/struts/browse/WW-2948
             Project: Struts 2
          Issue Type: Bug
    Affects Versions: 2.0.14
         Environment: JDK 1.6, JBoss 5.0GA
            Reporter: Wolfgang Knauf


Take the sample "struts2-blank-2.0.14.war".
Add this "init-param" to web.xml:
    <filter>
        <filter-name>struts2</filter-name>
        
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
                <init-param>
            <param-name>actionPackages</param-name>
            <param-value>example</param-value>
        </init-param>
    </filter>

Now deployment on JBoss5.0 GA will result in this error:

17:30:16,421 INFO  [TomcatDeployment] deploy, ctxPath=/struts2-blank-2.0.14, 
vfsUrl=struts2-blank-2.0.14.war
17:30:16,890 INFO  [XmlConfigurationProvider] Parsing configuration file 
[struts-default.xml]
17:30:16,953 INFO  [XmlConfigurationProvider] Parsing configuration file 
[struts-plugin.xml]
17:30:16,968 INFO  [XmlConfigurationProvider] Parsing configuration file 
[struts.xml]
17:30:16,968 WARN  [Settings] Settings: Could not parse struts.locale setting, 
substituting default VM locale
17:30:17,156 INFO  [ResolverUtil] Scanning for classes in 
[/C:/temp/jboss-5.0.0.GA/server/default/deploy/struts2-blank-2.0.14.war/WEB-INF/classes/example/]
 matching criteria: 
org.apache.struts2.config.classpathconfigurationprovide...@dc9c10
17:30:17,156 ERROR [ResolverUtil] Could not search jar file 
'C:\temp\jboss-5.0.0.GA\server\default\deploy\struts2-blank-2.0.14.war\WEB-INF\classes\example'
 for classes matching criteria: 
org.apache.struts2.config.classpathconfigurationprovide...@dc9c10 due to an 
IOException
java.io.FileNotFoundException: 
C:\temp\jboss-5.0.0.GA\server\default\deploy\struts2-blank-2.0.14.war\WEB-INF\classes\example
 (Das System kann den angegebenen Pfad nicht finden)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(Unknown Source)
        at 
com.opensymphony.xwork2.util.ResolverUtil.loadImplementationsInJar(ResolverUtil.java:341)
        at 
com.opensymphony.xwork2.util.ResolverUtil.findInPackage(ResolverUtil.java:288)
        at com.opensymphony.xwork2.util.ResolverUtil.find(ResolverUtil.java:240)
        at 
org.apache.struts2.config.ClasspathConfigurationProvider.loadPackages(ClasspathConfigurationProvider.java:234)
        at 
org.apache.struts2.config.ClasspathConfigurationProvider.loadPackages(ClasspathConfigurationProvider.java:402)
        at 
com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)
        at 
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
        at 
org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
        at 
org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:205)
        at 
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:234)
        at 
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:332)
        at 
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:90)
        at 
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3783)
        at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4413)
        at 
org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:367)
        at 
org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:146)
        at 
org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:460)
        at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
        at org.jboss.web.deployers.WebModule.start(WebModule.java:96)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
        at 
org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
        at $Proxy36.start(Unknown Source)
        at 
org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
        at 
org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
        at 
org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
        at 
org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
        at 
org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
        at 
org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
        at 
org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
        at 
org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
        at 
org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
        at 
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
        at 
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
        at 
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
        at 
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
        at 
org.jboss.system.ServiceController.doChange(ServiceController.java:688)
        at org.jboss.system.ServiceController.start(ServiceController.java:460)
        at 
org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:146)
        at 
org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:104)
        at 
org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:45)
        at 
org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
        at 
org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
        at 
org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
        at 
org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
        at 
org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
        at 
org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
        at 
org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
        at 
org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
        at 
org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
        at 
org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
        at 
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
        at 
org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
        at 
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
        at 
org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
        at 
org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
        at 
org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:545)
        at 
org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:290)
        at 
org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
        at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown
 Source)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown
 Source)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
 Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown 
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
17:30:17,156 INFO  [ObjectTypeDeterminerFactory] Setting 
DefaultObjectTypeDeterminer as default ...


The path is valid, besides the fact that the WAR is not a folder.
Exploded deployment works.

Probably this is a matter of the new Virtual File System (VFS) in JBoss, as 
"C:\temp\jboss-5.0.0.GA\server\default\deploy\struts2-blank-2.0.14.war\WEB-INF\classes\example"
 mixes the real path of the WAR with a path inside it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to