You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by RogerV <ro...@googlemail.com> on 2009/10/09 23:59:31 UTC

Overriding default action mapper

I've followed the instructions at
http://struts.apache.org/2.0.14/docs/actionmapper.html and defined my custom
mapper that extends DefaultActionMapper in struts.xml, but it won't load
because the mapper has already been loaded. I've never tried anything like
this before so I'm at a total loss to know what's wrong.

My struts.xml looks like this and the stack trace is below;

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

 <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper"
name="struts"
class="com.vasilikon.dispatcher.mapper.ButtonWithParameterActionMapper" />
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true"/> 
</struts>

Regards
Roger



SEVERE: Dispatcher initialization failed
Unable to load configuration. - bean -
file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
	at
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
	at
org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
	at
org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
	at
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
	at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
	at
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
	at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: Unable to load bean:
type:org.apache.struts2.dispatcher.mapper.ActionMapper
class:com.vasilikon.dispatcher.mapper.ButtonWithParameterActionMapper - bean
-
file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
	at
com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:221)
	at
org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
	at
com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:169)
	at
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
	... 22 more
Caused by: Bean type interface
org.apache.struts2.dispatcher.mapper.ActionMapper with the name struts has
already been loaded by [unknown location] - bean -
file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
	at
com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:205)
	... 25 more
10-Oct-2009 00:41:20 org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter struts2
Unable to load configuration. - bean -
file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
	at
org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
	at
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
	at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
	at
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
	at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: Unable to load configuration. - bean -
file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
	at
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
	at
org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
	... 20 more
Caused by: Unable to load bean:
type:org.apache.struts2.dispatcher.mapper.ActionMapper
class:com.vasilikon.dispatcher.mapper.ButtonWithParameterActionMapper - bean
-
file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
	at
com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:221)
	at
org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
	at
com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:169)
	at
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
	... 22 more
Caused by: Bean type interface
org.apache.struts2.dispatcher.mapper.ActionMapper with the name struts has
already been loaded by [unknown location] - bean -
file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
	at
com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:205)
	... 25 more

-- 
View this message in context: http://www.nabble.com/Overriding-default-action-mapper-tp25828522p25828522.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Overriding default action mapper

Posted by Musachy Barroso <mu...@gmail.com>.
yes, it will work.

musachy

On Mon, Oct 12, 2009 at 2:08 AM, RogerV <ro...@googlemail.com> wrote:
>
>
>
> Musachy Barroso wrote:
>>
>> this is how you do it:
>>
>>  <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper"
>> class="com.MySuperMapper" name="superMapper"/>
>>  <constant name="struts.mapper.class" value="superMapper" />
>>
>> musachy
>>
>
> Would this change to struts.xml be expected to work if I'm using the
> convention plugin, or do I need to
> configure the change in a different way?
>
> Regards
>
> --
> View this message in context: http://www.nabble.com/Overriding-default-action-mapper-tp25828522p25852574.html
> Sent from the Struts - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>



-- 
"Hey you! Would you help me to carry the stone?" Pink Floyd

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Overriding default action mapper

Posted by RogerV <ro...@googlemail.com>.


Musachy Barroso wrote:
> 
> this is how you do it:
> 
>  <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper"
> class="com.MySuperMapper" name="superMapper"/>
>  <constant name="struts.mapper.class" value="superMapper" />
> 
> musachy
> 

Would this change to struts.xml be expected to work if I'm using the
convention plugin, or do I need to
configure the change in a different way?

Regards

-- 
View this message in context: http://www.nabble.com/Overriding-default-action-mapper-tp25828522p25852574.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Overriding default action mapper

Posted by Musachy Barroso <mu...@gmail.com>.
this is how you do it:

 <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper"
class="com.MySuperMapper" name="superMapper"/>
 <constant name="struts.mapper.class" value="superMapper" />

musachy

On Fri, Oct 9, 2009 at 2:59 PM, RogerV <ro...@googlemail.com> wrote:
>
> I've followed the instructions at
> http://struts.apache.org/2.0.14/docs/actionmapper.html and defined my custom
> mapper that extends DefaultActionMapper in struts.xml, but it won't load
> because the mapper has already been loaded. I've never tried anything like
> this before so I'm at a total loss to know what's wrong.
>
> My struts.xml looks like this and the stack trace is below;
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <!DOCTYPE struts PUBLIC
>    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
>    "http://struts.apache.org/dtds/struts-2.0.dtd">
>
> <struts>
>
>  <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper"
> name="struts"
> class="com.vasilikon.dispatcher.mapper.ButtonWithParameterActionMapper" />
>    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
>    <constant name="struts.devMode" value="true"/>
> </struts>
>
> Regards
> Roger
>
>
>
> SEVERE: Dispatcher initialization failed
> Unable to load configuration. - bean -
> file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
>        at
> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
>        at
> org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
>        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
>        at
> org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
>        at
> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
>        at
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
>        at
> org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
>        at
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
>        at
> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
>        at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
>        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>        at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>        at org.apache.catalina.core.StandardService.start(StandardService.java:516)
>        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> Caused by: Unable to load bean:
> type:org.apache.struts2.dispatcher.mapper.ActionMapper
> class:com.vasilikon.dispatcher.mapper.ButtonWithParameterActionMapper - bean
> -
> file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
>        at
> com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:221)
>        at
> org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
>        at
> com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:169)
>        at
> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
>        ... 22 more
> Caused by: Bean type interface
> org.apache.struts2.dispatcher.mapper.ActionMapper with the name struts has
> already been loaded by [unknown location] - bean -
> file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
>        at
> com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:205)
>        ... 25 more
> 10-Oct-2009 00:41:20 org.apache.catalina.core.StandardContext filterStart
> SEVERE: Exception starting filter struts2
> Unable to load configuration. - bean -
> file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
>        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
>        at
> org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
>        at
> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
>        at
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
>        at
> org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
>        at
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
>        at
> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
>        at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
>        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>        at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>        at org.apache.catalina.core.StandardService.start(StandardService.java:516)
>        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> Caused by: Unable to load configuration. - bean -
> file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
>        at
> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
>        at
> org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
>        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
>        ... 20 more
> Caused by: Unable to load bean:
> type:org.apache.struts2.dispatcher.mapper.ActionMapper
> class:com.vasilikon.dispatcher.mapper.ButtonWithParameterActionMapper - bean
> -
> file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
>        at
> com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:221)
>        at
> org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
>        at
> com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:169)
>        at
> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
>        ... 22 more
> Caused by: Bean type interface
> org.apache.struts2.dispatcher.mapper.ActionMapper with the name struts has
> already been loaded by [unknown location] - bean -
> file:/home/varleyr/blackbox/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/newmapper/WEB-INF/classes/struts.xml:8:153
>        at
> com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:205)
>        ... 25 more
>
> --
> View this message in context: http://www.nabble.com/Overriding-default-action-mapper-tp25828522p25828522.html
> Sent from the Struts - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>



-- 
"Hey you! Would you help me to carry the stone?" Pink Floyd

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org