[ https://issues.apache.org/jira/browse/CAMEL-4537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13126614#comment-13126614 ]
Aaron Whiteside commented on CAMEL-4537: ---------------------------------------- It seems Camel has a hard dependency on the Aries' blueprint implementation. It won't work under Gemini or JBoss 7's blueprint implementation - I suspect this is because of the NamespaceHandler, I think it would be better to separate the Aries specific namespace handler into its own module/bundle, so that if someone wants to run Camel on a non Aries blueprint implementation they can do so, and if they want the custom blueprint namespace they can include the specific bundle for their blueprint implementation. {code} 10:18:58,656 ERROR [org.jboss.osgi.framework.internal.FrameworkEventsPlugin] (MSC service thread 1-3) Framework ERROR: org.osgi.framework.BundleException: Cannot resolve bundle resModule: [com.mm.routing.engine:1.0.0.SNAPSHOT] at org.jboss.osgi.framework.internal.ResolverPlugin.resolve(ResolverPlugin.java:157) [jbosgi-framework-core-1.0.0.CR8.jar:1.0.0.CR8] at org.jboss.osgi.framework.internal.AbstractBundleState.ensureResolved(AbstractBundleState.java:551) [jbosgi-framework-core-1.0.0.CR8.jar:1.0.0.CR8] at org.jboss.osgi.framework.internal.HostBundleState.startInternal(HostBundleState.java:210) [jbosgi-framework-core-1.0.0.CR8.jar:1.0.0.CR8] at org.jboss.osgi.framework.internal.AbstractBundleState.start(AbstractBundleState.java:494) [jbosgi-framework-core-1.0.0.CR8.jar:1.0.0.CR8] at org.jboss.as.osgi.deployment.BundleStartTracker$1.processService(BundleStartTracker.java:144) [jboss-as-osgi-service-7.0.2.Final.jar:7.0.2.Final] at org.jboss.as.osgi.deployment.BundleStartTracker$1.transition(BundleStartTracker.java:119) [jboss-as-osgi-service-7.0.2.Final.jar:7.0.2.Final] at org.jboss.msc.service.ServiceControllerImpl.invokeListener(ServiceControllerImpl.java:1429) [jboss-msc-1.0.1.GA.jar:1.0.1.GA] at org.jboss.msc.service.ServiceControllerImpl.access$2600(ServiceControllerImpl.java:49) [jboss-msc-1.0.1.GA.jar:1.0.1.GA] at org.jboss.msc.service.ServiceControllerImpl$ListenerTask.run(ServiceControllerImpl.java:1952) [jboss-msc-1.0.1.GA.jar:1.0.1.GA] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.7.0] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.7.0] at java.lang.Thread.run(Thread.java:722) [:1.7.0] Caused by: org.jboss.osgi.resolver.XResolverException: Unable to resolve Module[com.mm.routing.engine:1.0.0.SNAPSHOT]: missing requirement [Module[com.mm.routing.engine:1.0.0.SNAPSHOT]] package; (package=org.apache.camel.blueprint) [caused by: Unable to resolve Module[org.apache.camel.camel-blueprint:2.9.0.SNAPSHOT]: missing requirement [Module[org.apache.camel.camel-blueprint:2.9.0.SNAPSHOT]] package; (&(package=org.apache.aries.blueprint)(version>=0.3.0)(!(version>=1.0.0)))] at org.jboss.osgi.resolver.felix.FelixResolver.resolveInternal(FelixResolver.java:117) [jbosgi-resolver-felix-1.0.9.jar:1.0.9] at org.jboss.osgi.resolver.spi.AbstractResolver.resolve(AbstractResolver.java:148) [jbosgi-resolver-spi-1.0.9.jar:1.0.9] at org.jboss.osgi.framework.internal.ResolverPlugin.resolve(ResolverPlugin.java:155) [jbosgi-framework-core-1.0.0.CR8.jar:1.0.0.CR8] ... 11 more {code} > 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 > Assignee: Jean-Baptiste Onofré > 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