-
1. Re: Struts2 Annotations in ear file don't work
mid491 Jul 1, 2010 2:45 AM (in response to mid491)up!
still doesn't work : war deployed alone is working, inside EAR not.
thx )
-
2. Re: Struts2 Annotations in ear file don't work
jaikiran Jul 1, 2010 2:51 AM (in response to mid491)In their documentation, they have a section on "Actions in jar files" and another section on "JBoss". Have you followed those sections and configured accordingly? If yes, then post your exact configs here. Also try to enable debug and/or trace level logging as explained in their "Troubleshooting" section and see if it provides any useful information.
-
3. Re: Struts2 Annotations in ear file don't work
mid491 Jul 8, 2010 5:56 AM (in response to jaikiran)[edited after some tries]
yes I've tried many things with same results ! : all is fine when WAR is deployed apart of the EAR, no more when the WAR is packaged inside EAR ???
Very strange....
Also I just don't understand what to do with this trick :
Actions in jar files
By default the Convention plugin will not scan jar files for actions. For a jar to be scanned, its URL needs to match at least one of the regular expressions in struts.convention.action.includeJars. In this example myjar1.jar and myjar2.jar will be scanned:
<constant name="struts.convention.action.includeJars" value=".*?/myjar1.*?jar(!/)?,.*?/myjar2*?jar(!/)?"
Note that the regular expression will be evaluated against the URL of the jar, and not the file name, the jar URL can contain a path to the jar file and a trailing "!/".
My actions are not packaging into a jar but in a WAR.
I discovered something : when I run JBoss (war packaged inside EAR) I've got logs where I can see that there no processing on my Action Classes;
Here the logs during the deployement, first the EAr with WAR inside and second, the WAr apart of the EAR :
1) WAR outside the EAR (working fine) :
INFO [XmlConfigurationProvider] Parsing configuration file [struts.xml]
INFO [BeanSelectionProvider] Choosing bean (struts) for class com.opensymphony.xwork2.ObjectFactory
INFO [BeanSelectionProvider] Choosing bean (struts) for class com.opensymphony.xwork2.conversion.impl.XWorkConverter
INFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.TextProvider
INFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.ActionProxyFactory
INFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.conversion.ObjectTypeDeterminer
DEBUG [BeanSelectionProvider] Choosing bean (class org.apache.struts2.dispatcher.mapper.DefaultActionMapper) for interface org.apache.struts2.dispatcher.mapper.ActionMapper
INFO [BeanSelectionProvider] Choosing bean (jakarta) for interface org.apache.struts2.dispatcher.multipart.MultiPartRequest
INFO [BeanSelectionProvider] Choosing bean (struts) for class org.apache.struts2.views.freemarker.FreemarkerManager
DEBUG [BeanSelectionProvider] Choosing bean (struts) for class org.apache.struts2.views.velocity.VelocityManager to be loaded from the ObjectFactory
INFO [BeanSelectionProvider] Choosing bean (struts) for interface org.apache.struts2.components.UrlRenderer
INFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.validator.ActionValidatorManager
INFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.util.ValueStackFactory
INFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.util.reflection.ReflectionProvider
INFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.util.reflection.ReflectionContextFactory
INFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.util.PatternMatcher
INFO [BeanSelectionProvider] Choosing bean (struts) for interface org.apache.struts2.dispatcher.StaticContentLoader
INFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.UnknownHandlerManager
DEBUG [LocalizedTextUtil] Added default resource bundle 'org/apache/struts2/struts-messages' to default resource bundles = [org/apache/struts2/struts-messages, com/opensymphony/xwork2/xwork-messages]
INFO [BeanSelectionProvider] Loading global messages from globalmessages
DEBUG [LocalizedTextUtil] Added default resource bundle 'globalmessages' to default resource bundles = [globalmessages, org/apache/struts2/struts-messages, com/opensymphony/xwork2/xwork-messages]
DEBUG [XmlConfigurationProvider] Loaded [BUILDER] {PackageConfig Name:struts-default namespace: parents:[]}
DEBUG [DefaultValidatorFactory] Loading validator definitions.
DEBUG [I18nInterceptor] new I18nInterceptor()
DEBUG [I18nInterceptor] new I18nInterceptor()
DEBUG [I18nInterceptor] new I18nInterceptor()
DEBUG [XmlConfigurationProvider] Loaded [BUILDER] {PackageConfig Name:convention-default namespace: parents:[{PackageConfig Name:struts-default namespace: parents:[]}]}
DEBUG [XmlConfigurationProvider] Loaded [BUILDER] {PackageConfig Name:config-browser namespace:/config-browser parents:[{PackageConfig Name:struts-default namespace: parents:[]}]}
DEBUG [XmlConfigurationProvider] Loaded /config-browser/index in 'config-browser' package:{ActionConfig index () - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo-presentation-1.0-snapshot.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:45:30}
DEBUG [XmlConfigurationProvider] Loaded /config-browser/actionNames in 'config-browser' package:{ActionConfig actionNames (org.apache.struts2.config_browser.ActionNamesAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo-presentation-1.0-snapshot.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:49:96}
DEBUG [XmlConfigurationProvider] Loaded /config-browser/showConfig in 'config-browser' package:{ActionConfig showConfig (org.apache.struts2.config_browser.ShowConfigAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo-presentation-1.0-snapshot.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:53:94}
DEBUG [XmlConfigurationProvider] Loaded /config-browser/showConstants in 'config-browser' package:{ActionConfig showConstants (org.apache.struts2.config_browser.ShowConstantsAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo-presentation-1.0-snapshot.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:57:100}
DEBUG [XmlConfigurationProvider] Loaded /config-browser/showBeans in 'config-browser' package:{ActionConfig showBeans (org.apache.struts2.config_browser.ShowBeansAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo-presentation-1.0-snapshot.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:61:92}
DEBUG [XmlConfigurationProvider] Loaded /config-browser/showJars in 'config-browser' package:{ActionConfig showJars (org.apache.struts2.config_browser.ShowJarsAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo-presentation-1.0-snapshot.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:65:90}
DEBUG [XmlConfigurationProvider] Loaded /config-browser/showValidators in 'config-browser' package:{ActionConfig showValidators (org.apache.struts2.config_browser.ListValidatorsAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo-presentation-1.0-snapshot.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:69:102}
DEBUG [XmlConfigurationProvider] Loaded /config-browser/validatorDetails in 'config-browser' package:{ActionConfig validatorDetails (org.apache.struts2.config_browser.ShowValidatorAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo-presentation-1.0-snapshot.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:75:103}
DEBUG [XmlConfigurationProvider] Loaded [BUILDER] {PackageConfig Name:laposte namespace:/ parents:[{PackageConfig Name:struts-default namespace: parents:[]}]}
DEBUG [PackageBasedActionConfigBuilder] Setting action default parent package to [convention-default]
DEBUG [PackageBasedActionConfigBuilder] Loading action configurations
DEBUG [PackageBasedActionConfigBuilder] Actions being loaded from action packages [fr.mycompagny.foo.presentation]
DEBUG [PackageBasedActionConfigBuilder] Actions being loaded using package locators [presentation]
DEBUG [PackageBasedActionConfigBuilder] Excluding actions from packages [org.apache.struts.*, org.apache.struts2.*, org.springframework.web.struts.*, org.springframework.web.struts2.*, org.hibernate.*]
DEBUG [PackageBasedActionConfigBuilder] Class [fr.mycompagny.foo.presentation.categories.AbstractCategory] did not pass the instantiation test and will be ignored
DEBUG [PackageBasedActionConfigBuilder] Processing class [fr.mycompagny.foo.presentation.categories.CategoryAction] in package [fr.mycompagny.foo.presentation.categories]
DEBUG [SEOActionNameBuilder] Changed action name from [categories] to [categories]
DEBUG [SEOActionNameBuilder] Changed action name from [CategoryAction] to [category]
DEBUG [PackageBasedActionConfigBuilder] Got actionName for class [class fr.mycompagny.foo.presentation.categories.CategoryAction] of [category]
DEBUG [PackageBasedActionConfigBuilder] Created package config named [fr.mycompagny.foo.presentation.categories#convention-default#/categories] with a namespace [/categories]
DEBUG [PackageBasedActionConfigBuilder] Creating action config for class [class fr.mycompagny.foo.presentation.categories.CategoryAction], name [category] and package name [fr.mycompagny.foo.presentation.categories#convention-default#/categories] in namespace [/categories]
DEBUG [DefaultResultMapBuilder] Using final calculated namespace [/categories]
DEBUG [DefaultResultMapBuilder] Searching for results in the Servlet container at [/jsp/categories/] with result prefix of [/jsp/categories/category]
DEBUG [DefaultResultMapBuilder] Processing resource path [/jsp/categories/category-list.jsp]
DEBUG [DefaultResultMapBuilder] The result file [/jsp/categories/category-list.jsp] has a result code and therefore will be associated with only that result code.
DEBUG [DefaultResultMapBuilder] Processing resource path [/jsp/categories/category-form.jsp]
DEBUG [DefaultResultMapBuilder] The result file [/jsp/categories/category-form.jsp] has a result code and therefore will be associated with only that result code.
DEBUG [DefaultResultMapBuilder] Searching for results in the class path at [jsp/categories/] with a result prefix of [/jsp/categories/category] and action name [category]
DEBUG [PackageBasedActionConfigBuilder] Creating action config for class [class fr.mycompagny.foo.presentation.categories.CategoryAction], name [category] and package name [fr.mycompagny.foo.presentation.categories#convention-default#/categories] in namespace [/categories]
DEBUG [DefaultResultMapBuilder] Using final calculated namespace [/categories]
DEBUG [DefaultResultMapBuilder] Searching for results in the Servlet container at [/jsp/categories/] with result prefix of [/jsp/categories/category]
DEBUG [DefaultResultMapBuilder] Processing resource path [/jsp/categories/category-list.jsp]
DEBUG [DefaultResultMapBuilder] The result file [/jsp/categories/category-list.jsp] has a result code and therefore will be associated with only that result code.
DEBUG [DefaultResultMapBuilder] Processing resource path [/jsp/categories/category-form.jsp]
DEBUG [DefaultResultMapBuilder] The result file [/jsp/categories/category-form.jsp] has a result code and therefore will be associated with only that result code.
DEBUG [DefaultResultMapBuilder] Searching for results in the class path at [jsp/categories/] with a result prefix of [/jsp/categories/category] and action name [category]
DEBUG [PackageBasedActionConfigBuilder] Class [fr.mycompagny.foo.presentation.AbstractBaseAction] did not pass the instantiation test and will be ignored
2) WAR insidde the EAR (not working)
DEBUG [XmlConfigurationProvider] Loaded action configuration from: struts.xmlINFO [XmlConfigurationProvider] Parsing configuration file [struts.xml]INFO [BeanSelectionProvider] Choosing bean (struts) for class com.opensymphony.xwork2.ObjectFactoryINFO [BeanSelectionProvider] Choosing bean (struts) for class com.opensymphony.xwork2.conversion.impl.XWorkConverterINFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.TextProviderINFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.ActionProxyFactoryINFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.conversion.ObjectTypeDeterminerDEBUG [BeanSelectionProvider] Choosing bean (class org.apache.struts2.dispatcher.mapper.DefaultActionMapper) for interface org.apache.struts2.dispatcher.mapper.ActionMapperINFO [BeanSelectionProvider] Choosing bean (jakarta) for interface org.apache.struts2.dispatcher.multipart.MultiPartRequestINFO [BeanSelectionProvider] Choosing bean (struts) for class org.apache.struts2.views.freemarker.FreemarkerManagerDEBUG [BeanSelectionProvider] Choosing bean (struts) for class org.apache.struts2.views.velocity.VelocityManager to be loaded from the ObjectFactoryINFO [BeanSelectionProvider] Choosing bean (struts) for interface org.apache.struts2.components.UrlRendererINFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.validator.ActionValidatorManagerINFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.util.ValueStackFactoryINFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.util.reflection.ReflectionProviderINFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.util.reflection.ReflectionContextFactoryINFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.util.PatternMatcherINFO [BeanSelectionProvider] Choosing bean (struts) for interface org.apache.struts2.dispatcher.StaticContentLoaderINFO [BeanSelectionProvider] Choosing bean (struts) for interface com.opensymphony.xwork2.UnknownHandlerManagerDEBUG [LocalizedTextUtil] Added default resource bundle 'org/apache/struts2/struts-messages' to default resource bundles = [org/apache/struts2/struts-messages, com/opensymphony/xwork2/xwork-messages]INFO [BeanSelectionProvider] Loading global messages from globalmessagesDEBUG [LocalizedTextUtil] Added default resource bundle 'globalmessages' to default resource bundles = [globalmessages, org/apache/struts2/struts-messages, com/opensymphony/xwork2/xwork-messages]DEBUG [XmlConfigurationProvider] Loaded [BUILDER] {PackageConfig Name:struts-default namespace: parents:[]}DEBUG [DefaultValidatorFactory] Loading validator definitions.DEBUG [I18nInterceptor] new I18nInterceptor()DEBUG [I18nInterceptor] new I18nInterceptor()DEBUG [I18nInterceptor] new I18nInterceptor()DEBUG [XmlConfigurationProvider] Loaded [BUILDER] {PackageConfig Name:convention-default namespace: parents:[{PackageConfig Name:struts-default namespace: parents:[]}]}DEBUG [XmlConfigurationProvider] Loaded [BUILDER] {PackageConfig Name:config-browser namespace:/config-browser parents:[{PackageConfig Name:struts-default namespace: parents:[]}]}DEBUG [XmlConfigurationProvider] Loaded /config-browser/index in 'config-browser' package:{ActionConfig index () - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo.ear/foo-presentation-1.0-SNAPSHOT.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:45:30}DEBUG [XmlConfigurationProvider] Loaded /config-browser/actionNames in 'config-browser' package:{ActionConfig actionNames (org.apache.struts2.config_browser.ActionNamesAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo.ear/foo-presentation-1.0-SNAPSHOT.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:49:96}DEBUG [XmlConfigurationProvider] Loaded /config-browser/showConfig in 'config-browser' package:{ActionConfig showConfig (org.apache.struts2.config_browser.ShowConfigAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo.ear/foo-presentation-1.0-SNAPSHOT.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:53:94}DEBUG [XmlConfigurationProvider] Loaded /config-browser/showConstants in 'config-browser' package:{ActionConfig showConstants (org.apache.struts2.config_browser.ShowConstantsAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo.ear/foo-presentation-1.0-SNAPSHOT.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:57:100}DEBUG [XmlConfigurationProvider] Loaded /config-browser/showBeans in 'config-browser' package:{ActionConfig showBeans (org.apache.struts2.config_browser.ShowBeansAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo.ear/foo-presentation-1.0-SNAPSHOT.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:61:92}DEBUG [XmlConfigurationProvider] Loaded /config-browser/showJars in 'config-browser' package:{ActionConfig showJars (org.apache.struts2.config_browser.ShowJarsAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo.ear/foo-presentation-1.0-SNAPSHOT.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:65:90}DEBUG [XmlConfigurationProvider] Loaded /config-browser/showValidators in 'config-browser' package:{ActionConfig showValidators (org.apache.struts2.config_browser.ListValidatorsAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo.ear/foo-presentation-1.0-SNAPSHOT.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:69:102}DEBUG [XmlConfigurationProvider] Loaded /config-browser/validatorDetails in 'config-browser' package:{ActionConfig validatorDetails (org.apache.struts2.config_browser.ShowValidatorAction) - action - vfszip:/C:/java/dev/ejb3/jboss-5.1.0.GA/server/default/deploy/foo.ear/foo-presentation-1.0-SNAPSHOT.war/WEB-INF/lib/struts2-config-browser-plugin-2.1.8.1.jar/struts-plugin.xml:75:103}DEBUG [XmlConfigurationProvider] Loaded [BUILDER] {PackageConfig Name:laposte namespace:/ parents:[{PackageConfig Name:struts-default namespace: parents:[]}]}DEBUG [PackageBasedActionConfigBuilder] Setting action default parent package to [convention-default]DEBUG [PackageBasedActionConfigBuilder] Loading action configurationsDEBUG [PackageBasedActionConfigBuilder] Actions being loaded from action packages [fr.mycompagny.foo.presentation]DEBUG [PackageBasedActionConfigBuilder] Actions being loaded using package locators [presentation]DEBUG [PackageBasedActionConfigBuilder] Excluding actions from packages [org.apache.struts.*, org.apache.struts2.*, org.springframework.web.struts.*, org.springframework.web.struts2.*, org.hibernate.*]when I packaged the WAr outside the EAr i just remove the reference from the ear's pom
Any idea ?
-
4. Re: Struts2 Annotations in ear file don't work
mid491 Jul 8, 2010 5:57 AM (in response to mid491)up : edited the logs