[ 
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


Reply via email to