[ https://issues.apache.org/jira/browse/GERONIMO-3265?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12509708 ]
Paul McMahan commented on GERONIMO-3265: ---------------------------------------- thanks Jarek, The classloader viewer in the admin console doesn't show any spring classes pulled in by CXF but maybe that view is not accurate (?) If so then is there any way for webapps to avoid getting a cxf/axis dependency when they don't contain any web services? that might be a helpful first step we could take, if removing the Spring dependency from CXF proves difficult. > Spring stale version in 2.0-M6-rc1 > ---------------------------------- > > Key: GERONIMO-3265 > URL: https://issues.apache.org/jira/browse/GERONIMO-3265 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Affects Versions: 2.0-M6 > Environment: Windows XP SP2, Sun JSDK 1.5.07, Geronimo (2.0-M6-rc1) > obtained from: > http://people.apache.org/~hogstrom/2.0-M6-rc1/geronimo-tomcat6-jee5-2.0-M6-rc1-bin.zip > (2.0-M6-rc1) > Reporter: Alexei Kozich > > 1. This Geronimo build includes spring-beans.jar, spring-context.jar and > spring-core.jar of version 2.0. > So as far as we know, version 2.0 does not fully support integration with JPA > implementations. > 2. We developed an enterprise application (ear) which utilizes Spring 2.0.2 > and OpenJPA. > OpenJPA comes with Geronimo. > Deployment and start of this application fails, because of different versions > of Spring (our application expects spring-beans.jar, spring-context.jar and > spring-core.jar to be at least of version 2.0.2 but Geronimo contains libs of > version 2.0 (the lack of some methods in version 2.0 is the problem here). > 3. If we try to use inverse-classloading or hidden classes > (org.springframework) in geronimo-web.xml and include all necesary libs in > WEB-INF/lib following Exception is thrown during deployment and start of the > application (see below). > 4. We found temporary workaround: to replace spring-beans.jar, > spring-context.jar and spring-core.jar of version 2.0 with jars of version > 2.0.2 in Geronimo repository without using of inverse-classloading and hidden > classes and everything looks fine. > 5. So as far as I understand this out-of-the-box Geronimo build could not be > used as Server for Spring-OpenJPA appications. At least Spring libs upgrade > could solve this problem. > 6. Another problem is following Exception when using hidden classes or > inverse-classloading to load application jars first. > ERROR [ContextLoader] Context initialization failed > org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected > exception parsing XML document from ServletContext resource > [/WEB-INF/springAppContext.xml]; nested exception is > java.lang.IllegalArgumentException: Class > [org.apache.cxf.clustering.spring.NamespaceHandler] does not implement the > NamespaceHandler interface > Caused by: > java.lang.IllegalArgumentException: Class > [org.apache.cxf.clustering.spring.NamespaceHandler] does not implement the > NamespaceHandler interface > at > org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.initHandlerMappings(DefaultNamespaceHandlerResolver.java:119) > at > org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.<init>(DefaultNamespaceHandlerResolver.java:96) > at > org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.<init>(DefaultNamespaceHandlerResolver.java:82) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.createDefaultNamespaceHandlerResolver(XmlBeanDefinitionReader.java:526) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.createReaderContext(XmlBeanDefinitionReader.java:515) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:495) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:340) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:317) > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:125) > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:141) > at > org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:123) > at > org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:91) > at > org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:292) > at > org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156) > at > org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246) > at > org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184) > at > org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3823) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4324) > at > org.apache.geronimo.tomcat.GeronimoStandardContext.access$201(GeronimoStandardContext.java:62) > at > org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:350) > at > org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:47) > at > org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:194) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) > at > org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:333) > at > org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>) > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:127) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:828) > at > org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) > at > org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35) > at > org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) > at > org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$9425c889.addContext(<generated>) > at > org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:517) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:994) > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268) > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:537) > at > org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111) > at > org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146) > at > org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120) > at > org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:173) > at > org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:41) > at > org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:251) > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294) > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102) > at > org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:551) > at > org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379) > at > org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:442) > at > org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:479) > at > org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:188) > at > org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:530) > at > org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:511) > at > org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>) > at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > at > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) > at > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:127) > at > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:828) > at > org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) > at > org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35) > at > org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) > at > org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$7a707602.startConfiguration(<generated>) > at > org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:67) > at java.lang.Thread.run(Thread.java:595) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.