[ 
https://issues.apache.org/jira/browse/WW-4291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lukasz Lenart updated WW-4291:
------------------------------
    Fix Version/s: 7.0.0
                       (was: 6.1.0)

> Can't use Spring bean name for type convertor
> ---------------------------------------------
>
>                 Key: WW-4291
>                 URL: https://issues.apache.org/jira/browse/WW-4291
>             Project: Struts 2
>          Issue Type: Improvement
>          Components: Plugin - Spring
>            Reporter: Jasper Rosenberg
>            Priority: Minor
>             Fix For: 7.0.0
>
>
> If in your xwork.conversion.properties file you try to use a Spring bean name 
> instead of a class name, it blows up.
> This is because DefaultConfiguration.createBootstrapContainer() ends up using 
> DefaultTypeConverterCreator which has the generic ObjectFactory at that point 
> because it happens before the struts.properties file is ever loaded (where in 
> my case the SpringObjectFactory is defined.)
> {noformat}
> 10:20:06,910 ERROR [DefaultConversionPropertiesProcessor] Conversion 
> registration error
> java.lang.ClassNotFoundException: entityObjectTypeConvertor
>         at 
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
>         at 
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
>         at 
> com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:152)
>         at 
> com.opensymphony.xwork2.ObjectFactory.getClassInstance(ObjectFactory.java:108)
>         at 
> com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:161)
>         at 
> com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:151)
>         at 
> com.opensymphony.xwork2.conversion.impl.DefaultTypeConverterCreator.createTypeConverter(DefaultTypeConverterCreator.java:23)
>         at 
> com.opensymphony.xwork2.conversion.impl.DefaultConversionPropertiesProcessor.loadConversionProperties(DefaultConversionPropertiesProcessor.java:64)
>         at 
> com.opensymphony.xwork2.conversion.impl.DefaultConversionPropertiesProcessor.process(DefaultConversionPropertiesProcessor.java:40)
>         at 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter.setConversionPropertiesProcessor(XWorkConverter.java:179)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at 
> com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:299)
>         at 
> com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:438)
>         at 
> com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207)
> ...
>         at 
> com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:484)
>         at 
> com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:584)
>         at 
> com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:484)
>         at 
> com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:324)
>         at 
> com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:221)
>         at 
> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
>         at 
> org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446)
>         at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490)
>         at 
> org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
>         at 
> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
>         at 
> org.springframework.web.filter.DelegatingFilterProxy.initDelegate(DelegatingFilterProxy.java:325)
>         at 
> org.springframework.web.filter.DelegatingFilterProxy.initFilterBean(DelegatingFilterProxy.java:235)
>         at 
> org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:194)
>         at 
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
>         at 
> org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
>         at 
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
>         at 
> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)
>         at 
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
>         at 
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
>         at 
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
>         at 
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
>         at 
> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943)
>         at 
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778)
>         at 
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504)
>         at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
>         at 
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
>         at 
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
>         at 
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
>         at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
>         at 
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
>         at 
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
>         at 
> org.apache.catalina.core.StandardService.start(StandardService.java:525)
>         at 
> org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
> 10:20:07,074 INFO  [XmlConfigurationProvider] Parsing configuration file 
> [struts-default.xml]
> 10:20:07,159 INFO  [XmlConfigurationProvider] Parsing configuration file 
> [struts-plugin.xml]
> 10:20:07,663 INFO  [XmlConfigurationProvider] Parsing configuration file 
> [struts.xml]
> 10:20:07,674 INFO  [BeanSelectionProvider] Choosing bean (struts) for 
> (com.opensymphony.xwork2.FileManagerFactory)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to