[ https://issues.apache.org/jira/browse/CAMEL-4537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13125467#comment-13125467 ]
Aaron Whiteside commented on CAMEL-4537: ---------------------------------------- Spring DM 2.0 support is essential, because of the classloading issues with Spring DM 1.x. I understand Spring DM 2.0 is not yet final, but it's a hell of a lot better than Spring DM 1.x. and no we cannot currently use Blueprint. > Support for Spring DM 2.0 > ------------------------- > > Key: CAMEL-4537 > URL: https://issues.apache.org/jira/browse/CAMEL-4537 > Project: Camel > Issue Type: Bug > Components: osgi > Affects Versions: 2.9.0 > Environment: JBoss 7.0.2 - OSGi > Reporter: Aaron Whiteside > Priority: Critical > Labels: OSGi, Spring > > The camel-spring-2.9-SNAPSHOT.jar bundle imports > org.springframework.osgi.context;version="[1.2,2)";resolution:=optional, > Which obviously excludes Spring DM 2.0.0M1 > I am not sure if Spring DM 2.0 breaks anything Camel is trying to use, but > the class org.springframework.osgi.context.BundleContextAware it is searching > for on startup does exist in spring-osgi-core-2.0.0.M1.jar. > Currently when I deploy Camel 2.9-SNAPSHOT in JBoss 7.0.2 with Spring DM > 2.0.0M1 I get the following error, and I am unable to resolve any Components > from the OSGi Service registry - obviously because Camel is not trying to use > it. > {code} > 18:04:32,347 WARN [org.jboss.modules] (SpringOsgiExtenderThread-1) Failed to > define class org.apache.camel.osgi.CamelContextFactoryBean in Module > "deployment.org.apache.camel.camel-spring:2.9.0.SNAPSHOT" from Service Module > Loader: java.lang.LinkageError: Failed to link > org/apache/camel/osgi/CamelContextFactoryBean (Module > "deployment.org.apache.camel.camel-spring:2.9.0.SNAPSHOT" from Service Module > Loader) > at > org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:401) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:261) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:76) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.FilteredLocalLoader.loadClassLocal(FilteredLocalLoader.java:46) > [jboss-modules.jar:1.0.2.GA] > at org.jboss.modules.Module.loadModuleClass(Module.java:590) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:183) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:361) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:310) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:103) > [jboss-modules.jar:1.0.2.GA] > at java.lang.Class.forName0(Native Method) [:1.7.0] > at java.lang.Class.forName(Class.java:186) [:1.7.0] > at > org.apache.camel.spring.handler.CamelNamespaceHandler.init(CamelNamespaceHandler.java:133) > at > org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.resolve(DefaultNamespaceHandlerResolver.java:130) > at > org.springframework.osgi.extender.internal.support.NamespacePlugins$Plugin.resolve(NamespacePlugins.java:78) > at > org.springframework.osgi.extender.internal.support.NamespacePlugins$5.operate(NamespacePlugins.java:210) > at > org.springframework.osgi.extender.internal.support.NamespacePlugins$5.operate(NamespacePlugins.java:206) > at > org.springframework.osgi.extender.internal.support.LazyBundleRegistry.apply(LazyBundleRegistry.java:161) > at > org.springframework.osgi.extender.internal.support.NamespacePlugins.doResolve(NamespacePlugins.java:206) > at > org.springframework.osgi.extender.internal.support.NamespacePlugins.resolve(NamespacePlugins.java:170) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.7.0] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > [:1.7.0] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > [:1.7.0] > at java.lang.reflect.Method.invoke(Method.java:601) [:1.7.0] > at > org.springframework.osgi.context.support.TrackingUtil$OsgiServiceHandler.invoke(TrackingUtil.java:108) > at $Proxy12.resolve(Unknown Source) at > org.springframework.osgi.context.support.DelegatedNamespaceHandlerResolver.resolve(DelegatedNamespaceHandlerResolver.java:57) > at > org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1333) > at > org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1328) > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135) > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149) > at > org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:172) > at > org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:142) > at > org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) > at > org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467) > at > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$800(AbstractDelegatedExecutionApplicationContext.java:62) > at > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$3.run(AbstractDelegatedExecutionApplicationContext.java:244) > at > org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:87) > at > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.startRefresh(AbstractDelegatedExecutionApplicationContext.java:222) > at > org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:225) > at > org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:178) > at > org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:159) > at > org.springframework.osgi.extender.internal.activator.LifecycleManager$1.run(LifecycleManager.java:223) > at java.lang.Thread.run(Thread.java:722) [:1.7.0] > Caused by: java.lang.NoClassDefFoundError: > org/springframework/osgi/context/BundleContextAware > at java.lang.ClassLoader.defineClass1(Native Method) [:1.7.0] > at java.lang.ClassLoader.defineClass(ClassLoader.java:791) [:1.7.0] > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > [:1.7.0] > at > org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:397) > [jboss-modules.jar:1.0.2.GA] > ... 50 more > Caused by: java.lang.ClassNotFoundException: > org.springframework.osgi.context.BundleContextAware from [Module > "deployment.org.apache.camel.camel-spring:2.9.0.SNAPSHOT" from Service Module > Loader] > at > org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:361) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:310) > [jboss-modules.jar:1.0.2.GA] > at > org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:103) > [jboss-modules.jar:1.0.2.GA] > ... 54 more > 18:04:32,368 INFO [org.apache.camel.spring.handler.CamelNamespaceHandler] > (SpringOsgiExtenderThread-1) OSGi environment not detected. > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira