You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Kevan Miller (JIRA)" <ji...@apache.org> on 2007/08/03 02:51:53 UTC

[jira] Updated: (GERONIMO-3265) Spring stale version in 2.0-M6-rc1

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

Kevan Miller updated GERONIMO-3265:
-----------------------------------

    Affects Version/s: 2.0
        Fix Version/s: 2.0.x

We should fix this in 2.0.1 by rebasing our CXF configuration to a non-Spring solution. Until then, you can use a Geronimo deployment plan to avoid the problem. Something like:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1" xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1" xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1">
  <dep:environment>
    <dep:moduleId>
      <dep:groupId>org.mygroup</dep:groupId>
      <dep:artifactId>MyApp</dep:artifactId>
      <dep:version>1.1</dep:version>
      <dep:type>car</dep:type>
    </dep:moduleId>
    <!-- 
         Don't load spring classes or spring resources from parent ClassLoaders.
      -->
    <hidden-classes>
      <filter>org.springframework.</filter>
      <filter>META-INF/spring</filter>
    </hidden-classes>

  </dep:environment>

</web-app>


> 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, 2.0
>         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
>             Fix For: 2.0.x
>
>
> 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.