[ 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: 6.7.1 (was: 6.7.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 > Affects Versions: 6.1.1 > Reporter: Jasper Rosenberg > Priority: Minor > Fix For: 6.7.1 > > > 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)