You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Christopher Arnold <ca...@ptc.com> on 2014/01/23 15:07:19 UTC
Fwd: Deploy issues in Karaf/Blueprint
I'm attempting to hot deploy a Camel route using the ActiveMQComponent
into Karaf via the deploy folder using a blueprint xml file but I'm
running into dependency issues. When Karaf attempts to start the
created bundle I see this error:
2014-01-22 13:41:51,092 | ERROR | -SNAPSHOT/deploy | BlueprintContainerImpl | 4 - org.apache.aries.blueprint.core - 1.3.0 | Unable to start blueprint container for bundle blueprint.xml
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to instantiate components
at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:685)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[2:org.apache.aries.util:1.1.0]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[2:org.apache.aries.util:1.1.0]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[2:org.apache.aries.util:1.1.0]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[2:org.apache.aries.util:1.1.0]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[2:org.apache.aries.util:1.1.0]
at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.2.1.jar:]
at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)[org.apache.felix.framework-4.2.1.jar:]
at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)[org.apache.felix.framework-4.2.1.jar:]
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)[org.apache.felix.framework-4.2.1.jar:]
at org.apache.felix.framework.Felix.startBundle(Felix.java:2092)[org.apache.felix.framework-4.2.1.jar:]
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)[org.apache.felix.framework-4.2.1.jar:]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1247)[16:org.apache.felix.fileinstall:3.2.6]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1219)[16:org.apache.felix.fileinstall:3.2.6]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1208)[16:org.apache.felix.fileinstall:3.2.6]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:503)[16:org.apache.felix.fileinstall:3.2.6]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291)[16:org.apache.felix.fileinstall:3.2.6]
Caused by: java.lang.NoClassDefFoundError: org/apache/camel/spi/EndpointCompleter
at java.lang.ClassLoader.defineClass1(Native Method)[:1.7.0_45]
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)[:1.7.0_45]
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2279)
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501)
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1374)
at org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1553)
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1484)
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1844)[org.apache.felix.framework-4.2.1.jar:]
at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:937)[org.apache.felix.framework-4.2.1.jar:]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.loadClass(BlueprintContainerImpl.java:432)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.blueprint.container.BlueprintRepository.loadClass(BlueprintRepository.java:410)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.blueprint.container.GenericType.parse(GenericType.java:113)
at org.apache.aries.blueprint.di.AbstractRecipe.doLoadType(AbstractRecipe.java:168)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.blueprint.di.AbstractRecipe.loadType(AbstractRecipe.java:161)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.blueprint.container.BeanRecipe.loadClass(BeanRecipe.java:249)
at org.apache.aries.blueprint.container.BeanRecipe.getType(BeanRecipe.java:895)
at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:323)
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:806)
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_45]
at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[4:org.apache.aries.blueprint.core:1.3.0]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)[4:org.apache.aries.blueprint.core:1.3.0]
... 21 more
Caused by: java.lang.ClassNotFoundException: org.apache.camel.spi.EndpointCompleter not found by org.apache.activemq.activemq-web-console [175]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)[org.apache.felix.framework-4.2.1.jar:]
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)[org.apache.felix.framework-4.2.1.jar:]
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)[org.apache.felix.framework-4.2.1.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
... 52 more
I've narrowed it down to instantiating the ActiveMQComponent bean as the
cause of the error. Also, I've verified that the camel-core bundle is
present, active, and contains org.apache.camel.spi.EndpointCompleter.
Any idea why it can't find the class?
Version Detail: ActiveMQ 5.9.0, Camel 2.12.2, Karaf 3.0.0
blueprint.xml for reference:
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:camel="http://camel.apache.org/schema/blueprint"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
">
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616"/>
</bean>
<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="connectionFactory" ref="connectionFactory"/>
</bean>
<bean id="helloBean" class="com.company.test.integ.beans.HelloBean"/>
<camelContext xmlns="http://camel.apache.org/schema/blueprint" id="camel">
<route>
<from uri="cxfrs://http://0.0.0.0:8080/rest?resourceClasses=com.company.test.integ.rest.HelloService&bindingStyle=SimpleConsumer"/>
<setExchangePattern pattern="InOut"/>
<to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
<to uri="activemq:queue:test"/>
</route>
<route>
<from uri="activemq:queue:test"/>
<setExchangePattern pattern="InOut"/>
<to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
<choice>
<when>
<simple>${header.operationName} == 'hello'</simple>
<to uri="bean:helloBean?method=hello"/>
</when>
<otherwise>
<log message="Bad operationName: ${header.operationName}"/>
</otherwise>
</choice>
<to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
</route>
</camelContext>
</blueprint>
Thanks,
-Chris
Re: Fwd: Deploy issues in Karaf/Blueprint
Posted by Christopher Arnold <ca...@ptc.com>.
Thanks for taking a look. Here's the output of feature:list:
karaf@root()> feature:list -i
Name | Version | Installed | Repository | Description
--------------------------------------------------------------------------------------------------------------------------------------
standard | 3.0.0 | x | standard-3.0.0 | Karaf standard feature
config | 3.0.0 | x | standard-3.0.0 | Provide OSGi ConfigAdmin support
region | 3.0.0 | x | standard-3.0.0 | Provide Region Support
package | 3.0.0 | x | standard-3.0.0 | Package commands and mbeans
http | 3.0.0 | x | standard-3.0.0 | Implementation of the OSGI HTTP Service
http-whiteboard | 3.0.0 | x | standard-3.0.0 | Provide HTTP Whiteboard pattern support
war | 3.0.0 | x | standard-3.0.0 | Turn Karaf as a full WebContainer
jetty | 8.1.9.v20130131 | x | standard-3.0.0 |
kar | 3.0.0 | x | standard-3.0.0 | Provide KAR (KARaf archive) support
webconsole | 3.0.0 | x | standard-3.0.0 | Base support of the Karaf WebConsole
ssh | 3.0.0 | x | standard-3.0.0 | Provide a SSHd server on Karaf
management | 3.0.0 | x | standard-3.0.0 | Provide a JMX MBeanServer and a set of MBeans in K
eventadmin | 3.0.0 | x | standard-3.0.0 | OSGi Event Admin service specification for event-b
activemq-client | 5.9.0 | x | activemq-5.9.0 | ActiveMQ client libraries
activemq | 5.9.0 | x | activemq-5.9.0 | ActiveMQ broker libraries
activemq-camel | 5.9.0 | x | activemq-5.9.0 |
activemq-web-console | 5.9.0 | x | activemq-5.9.0 |
xml-specs-api | 2.2.0 | x | camel-2.12.2 |
camel | 2.12.2 | x | camel-2.12.2 |
camel-core | 2.12.2 | x | camel-2.12.2 |
camel-spring | 2.12.2 | x | camel-2.12.2 |
camel-blueprint | 2.12.2 | x | camel-2.12.2 |
camel-cxf | 2.12.2 | x | camel-2.12.2 |
camel-jms | 2.12.2 | x | camel-2.12.2 |
pax-jetty | 8.1.14.v20131031 | x | org.ops4j.pax.web-3.0.5 | Provide Jetty engine support
pax-http | 3.0.5 | x | org.ops4j.pax.web-3.0.5 | Implementation of the OSGI HTTP Service
pax-http-whiteboard | 3.0.5 | x | org.ops4j.pax.web-3.0.5 | Provide HTTP Whiteboard pattern support
pax-war | 3.0.5 | x | org.ops4j.pax.web-3.0.5 | Provide support of a full WebContainer
cxf-specs | 2.7.7 | x | cxf-2.7.7 |
cxf-jaxb | 2.7.7 | x | cxf-2.7.7 |
wss4j | 1.6.12 | x | cxf-2.7.7 |
cxf-core | 2.7.7 | x | cxf-2.7.7 |
cxf-ws-policy | 2.7.7 | x | cxf-2.7.7 |
cxf-ws-addr | 2.7.7 | x | cxf-2.7.7 |
cxf-ws-rm | 2.7.7 | x | cxf-2.7.7 |
cxf-ws-mex | 2.7.7 | x | cxf-2.7.7 |
cxf-ws-security | 2.7.7 | x | cxf-2.7.7 |
cxf-http | 2.7.7 | x | cxf-2.7.7 |
cxf-http-jetty | 2.7.7 | x | cxf-2.7.7 |
cxf-bindings-soap | 2.7.7 | x | cxf-2.7.7 |
cxf-jaxws | 2.7.7 | x | cxf-2.7.7 |
cxf-jaxrs | 2.7.7 | x | cxf-2.7.7 |
cxf-databinding-aegis | 2.7.7 | x | cxf-2.7.7 |
cxf-databinding-jaxb | 2.7.7 | x | cxf-2.7.7 |
cxf-databinding-xmlbeans | 2.7.7 | x | cxf-2.7.7 |
cxf-features-clustering | 2.7.7 | x | cxf-2.7.7 |
cxf-bindings-corba | 2.7.7 | x | cxf-2.7.7 |
cxf-bindings-coloc | 2.7.7 | x | cxf-2.7.7 |
cxf-bindings-object | 2.7.7 | x | cxf-2.7.7 |
cxf-transports-local | 2.7.7 | x | cxf-2.7.7 |
cxf-transports-jms | 2.7.7 | x | cxf-2.7.7 |
cxf-transports-udp | 2.7.7 | x | cxf-2.7.7 |
cxf-javascript | 2.7.7 | x | cxf-2.7.7 |
cxf-frontend-javascript | 2.7.7 | x | cxf-2.7.7 |
cxf-xjc-runtime | 2.7.7 | x | cxf-2.7.7 |
cxf | 2.7.7 | x | cxf-2.7.7 |
ptc-feature | 1.0.0 | x | ptc-features |
activemq-standalone | 1.0.0 | x | ptc-features |
spring-dm | 1.2.1 | x | spring-3.0.0 | Spring DM support
spring | 3.2.4.RELEASE | x | spring-3.0.0 | Spring 3.2.x support
spring-jms | 3.2.4.RELEASE | x | spring-3.0.0 | Spring 3.2.x JMS support
spring-tx | 3.2.4.RELEASE | x | spring-3.0.0 | Spring 3.2.x Transaction (TX) support
-Chris
On 01/23/2014 08:21 AM, Jean-Baptiste Onofré wrote:
> Hi Christopher,
>
> what's the list of installed features ?
>
> Regards
> JB
>
> On 01/23/2014 03:07 PM, Christopher Arnold wrote:
>> I'm attempting to hot deploy a Camel route using the ActiveMQComponent
>> into Karaf via the deploy folder using a blueprint xml file but I'm
>> running into dependency issues. When Karaf attempts to start the
>> created bundle I see this error:
>>
>> 2014-01-22 13:41:51,092 | ERROR | -SNAPSHOT/deploy |
>> BlueprintContainerImpl | 4 - org.apache.aries.blueprint.core -
>> 1.3.0 | Unable to start blueprint container for bundle blueprint.xml
>> org.osgi.service.blueprint.container.ComponentDefinitionException:
>> Unable to instantiate components
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:685)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[2:org.apache.aries.util:1.1.0]
>>
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[2:org.apache.aries.util:1.1.0]
>>
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[2:org.apache.aries.util:1.1.0]
>>
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[2:org.apache.aries.util:1.1.0]
>>
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[2:org.apache.aries.util:1.1.0]
>>
>>
>> at
>> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.Felix.startBundle(Felix.java:2092)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1247)[16:org.apache.felix.fileinstall:3.2.6]
>>
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1219)[16:org.apache.felix.fileinstall:3.2.6]
>>
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1208)[16:org.apache.felix.fileinstall:3.2.6]
>>
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:503)[16:org.apache.felix.fileinstall:3.2.6]
>>
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291)[16:org.apache.felix.fileinstall:3.2.6]
>>
>>
>> Caused by: java.lang.NoClassDefFoundError:
>> org/apache/camel/spi/EndpointCompleter
>> at java.lang.ClassLoader.defineClass1(Native Method)[:1.7.0_45]
>> at
>> java.lang.ClassLoader.defineClass(ClassLoader.java:800)[:1.7.0_45]
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2279)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
>>
>>
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
>> at
>> org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1374)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1553)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1484)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
>>
>>
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
>> at
>> org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1844)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:937)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.loadClass(BlueprintContainerImpl.java:432)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintRepository.loadClass(BlueprintRepository.java:410)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.GenericType.parse(GenericType.java:113)
>>
>>
>> at
>> org.apache.aries.blueprint.di.AbstractRecipe.doLoadType(AbstractRecipe.java:168)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.di.AbstractRecipe.loadType(AbstractRecipe.java:161)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.loadClass(BeanRecipe.java:249)
>>
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.getType(BeanRecipe.java:895)
>>
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:323)
>>
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:806)
>>
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
>>
>>
>> at
>> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
>>
>> at
>> java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_45]
>> at
>> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> ... 21 more
>> Caused by: java.lang.ClassNotFoundException:
>> org.apache.camel.spi.EndpointCompleter not found by
>> org.apache.activemq.activemq-web-console [175]
>> at
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
>> ... 52 more
>>
>> I've narrowed it down to instantiating the ActiveMQComponent bean as the
>> cause of the error. Also, I've verified that the camel-core bundle is
>> present, active, and contains org.apache.camel.spi.EndpointCompleter.
>> Any idea why it can't find the class?
>>
>> Version Detail: ActiveMQ 5.9.0, Camel 2.12.2, Karaf 3.0.0
>> blueprint.xml for reference:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xmlns:camel="http://camel.apache.org/schema/blueprint"
>> xsi:schemaLocation="
>> http://www.osgi.org/xmlns/blueprint/v1.0.0
>> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>> http://camel.apache.org/schema/blueprint
>> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
>> ">
>>
>> <bean id="connectionFactory"
>> class="org.apache.activemq.ActiveMQConnectionFactory">
>> <property name="brokerURL" value="tcp://localhost:61616"/>
>> </bean>
>>
>> <bean id="activemq"
>> class="org.apache.activemq.camel.component.ActiveMQComponent">
>> <property name="connectionFactory" ref="connectionFactory"/>
>> </bean>
>>
>> <bean id="helloBean" class="com.company.test.integ.beans.HelloBean"/>
>>
>> <camelContext xmlns="http://camel.apache.org/schema/blueprint"
>> id="camel">
>> <route>
>> <from
>> uri="cxfrs://http://0.0.0.0:8080/rest?resourceClasses=com.company.test.integ.rest.HelloService&bindingStyle=SimpleConsumer"/>
>>
>>
>> <setExchangePattern pattern="InOut"/>
>> <to
>> uri="log:com.company.test.integ?level=INFO&showAll=true"/>
>> <to uri="activemq:queue:test"/>
>> </route>
>> <route>
>> <from uri="activemq:queue:test"/>
>> <setExchangePattern pattern="InOut"/>
>> <to
>> uri="log:com.company.test.integ?level=INFO&showAll=true"/>
>> <choice>
>> <when>
>> <simple>${header.operationName} == 'hello'</simple>
>> <to uri="bean:helloBean?method=hello"/>
>> </when>
>> <otherwise>
>> <log message="Bad operationName: ${header.operationName}"/>
>> </otherwise>
>> </choice>
>> <to
>> uri="log:com.company.test.integ?level=INFO&showAll=true"/>
>> </route>
>> </camelContext>
>>
>> </blueprint>
>>
>> Thanks,
>> -Chris
>>
>>
>>
>
Re: Fwd: Deploy issues in Karaf/Blueprint
Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
By the way, I guess that it works with you install your route bundle
using bundle:install ?
The issue occurs only when dropping the file into the deploy folder ?
Regards
JB
On 01/23/2014 03:21 PM, Jean-Baptiste Onofré wrote:
> Hi Christopher,
>
> what's the list of installed features ?
>
> Regards
> JB
>
> On 01/23/2014 03:07 PM, Christopher Arnold wrote:
>> I'm attempting to hot deploy a Camel route using the ActiveMQComponent
>> into Karaf via the deploy folder using a blueprint xml file but I'm
>> running into dependency issues. When Karaf attempts to start the
>> created bundle I see this error:
>>
>> 2014-01-22 13:41:51,092 | ERROR | -SNAPSHOT/deploy |
>> BlueprintContainerImpl | 4 - org.apache.aries.blueprint.core -
>> 1.3.0 | Unable to start blueprint container for bundle blueprint.xml
>> org.osgi.service.blueprint.container.ComponentDefinitionException:
>> Unable to instantiate components
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:685)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[2:org.apache.aries.util:1.1.0]
>>
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[2:org.apache.aries.util:1.1.0]
>>
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[2:org.apache.aries.util:1.1.0]
>>
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[2:org.apache.aries.util:1.1.0]
>>
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[2:org.apache.aries.util:1.1.0]
>>
>>
>> at
>> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.Felix.startBundle(Felix.java:2092)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1247)[16:org.apache.felix.fileinstall:3.2.6]
>>
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1219)[16:org.apache.felix.fileinstall:3.2.6]
>>
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1208)[16:org.apache.felix.fileinstall:3.2.6]
>>
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:503)[16:org.apache.felix.fileinstall:3.2.6]
>>
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291)[16:org.apache.felix.fileinstall:3.2.6]
>>
>>
>> Caused by: java.lang.NoClassDefFoundError:
>> org/apache/camel/spi/EndpointCompleter
>> at java.lang.ClassLoader.defineClass1(Native Method)[:1.7.0_45]
>> at
>> java.lang.ClassLoader.defineClass(ClassLoader.java:800)[:1.7.0_45]
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2279)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
>>
>>
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
>> at
>> org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1374)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1553)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1484)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
>>
>>
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
>> at
>> org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1844)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:937)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.loadClass(BlueprintContainerImpl.java:432)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintRepository.loadClass(BlueprintRepository.java:410)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.GenericType.parse(GenericType.java:113)
>>
>>
>> at
>> org.apache.aries.blueprint.di.AbstractRecipe.doLoadType(AbstractRecipe.java:168)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.di.AbstractRecipe.loadType(AbstractRecipe.java:161)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.loadClass(BeanRecipe.java:249)
>>
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.getType(BeanRecipe.java:895)
>>
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:323)
>>
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:806)
>>
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
>>
>>
>> at
>> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
>>
>> at
>> java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_45]
>> at
>> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>>
>> ... 21 more
>> Caused by: java.lang.ClassNotFoundException:
>> org.apache.camel.spi.EndpointCompleter not found by
>> org.apache.activemq.activemq-web-console [175]
>> at
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)[org.apache.felix.framework-4.2.1.jar:]
>>
>>
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
>> ... 52 more
>>
>> I've narrowed it down to instantiating the ActiveMQComponent bean as the
>> cause of the error. Also, I've verified that the camel-core bundle is
>> present, active, and contains org.apache.camel.spi.EndpointCompleter.
>> Any idea why it can't find the class?
>>
>> Version Detail: ActiveMQ 5.9.0, Camel 2.12.2, Karaf 3.0.0
>> blueprint.xml for reference:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xmlns:camel="http://camel.apache.org/schema/blueprint"
>> xsi:schemaLocation="
>> http://www.osgi.org/xmlns/blueprint/v1.0.0
>> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>> http://camel.apache.org/schema/blueprint
>> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
>> ">
>>
>> <bean id="connectionFactory"
>> class="org.apache.activemq.ActiveMQConnectionFactory">
>> <property name="brokerURL" value="tcp://localhost:61616"/>
>> </bean>
>>
>> <bean id="activemq"
>> class="org.apache.activemq.camel.component.ActiveMQComponent">
>> <property name="connectionFactory" ref="connectionFactory"/>
>> </bean>
>>
>> <bean id="helloBean" class="com.company.test.integ.beans.HelloBean"/>
>>
>> <camelContext xmlns="http://camel.apache.org/schema/blueprint"
>> id="camel">
>> <route>
>> <from
>> uri="cxfrs://http://0.0.0.0:8080/rest?resourceClasses=com.company.test.integ.rest.HelloService&bindingStyle=SimpleConsumer"/>
>>
>>
>> <setExchangePattern pattern="InOut"/>
>> <to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
>> <to uri="activemq:queue:test"/>
>> </route>
>> <route>
>> <from uri="activemq:queue:test"/>
>> <setExchangePattern pattern="InOut"/>
>> <to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
>> <choice>
>> <when>
>> <simple>${header.operationName} == 'hello'</simple>
>> <to uri="bean:helloBean?method=hello"/>
>> </when>
>> <otherwise>
>> <log message="Bad operationName: ${header.operationName}"/>
>> </otherwise>
>> </choice>
>> <to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
>> </route>
>> </camelContext>
>>
>> </blueprint>
>>
>> Thanks,
>> -Chris
>>
>>
>>
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: Fwd: Deploy issues in Karaf/Blueprint
Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Christopher,
what's the list of installed features ?
Regards
JB
On 01/23/2014 03:07 PM, Christopher Arnold wrote:
> I'm attempting to hot deploy a Camel route using the ActiveMQComponent
> into Karaf via the deploy folder using a blueprint xml file but I'm
> running into dependency issues. When Karaf attempts to start the
> created bundle I see this error:
>
> 2014-01-22 13:41:51,092 | ERROR | -SNAPSHOT/deploy |
> BlueprintContainerImpl | 4 - org.apache.aries.blueprint.core -
> 1.3.0 | Unable to start blueprint container for bundle blueprint.xml
> org.osgi.service.blueprint.container.ComponentDefinitionException:
> Unable to instantiate components
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:685)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[2:org.apache.aries.util:1.1.0]
>
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[2:org.apache.aries.util:1.1.0]
>
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[2:org.apache.aries.util:1.1.0]
>
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[2:org.apache.aries.util:1.1.0]
>
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[2:org.apache.aries.util:1.1.0]
>
> at
> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.2.1.jar:]
>
> at
> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)[org.apache.felix.framework-4.2.1.jar:]
>
> at
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)[org.apache.felix.framework-4.2.1.jar:]
>
> at
> org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)[org.apache.felix.framework-4.2.1.jar:]
>
> at
> org.apache.felix.framework.Felix.startBundle(Felix.java:2092)[org.apache.felix.framework-4.2.1.jar:]
>
> at
> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)[org.apache.felix.framework-4.2.1.jar:]
>
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1247)[16:org.apache.felix.fileinstall:3.2.6]
>
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1219)[16:org.apache.felix.fileinstall:3.2.6]
>
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1208)[16:org.apache.felix.fileinstall:3.2.6]
>
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:503)[16:org.apache.felix.fileinstall:3.2.6]
>
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291)[16:org.apache.felix.fileinstall:3.2.6]
>
> Caused by: java.lang.NoClassDefFoundError:
> org/apache/camel/spi/EndpointCompleter
> at java.lang.ClassLoader.defineClass1(Native Method)[:1.7.0_45]
> at java.lang.ClassLoader.defineClass(ClassLoader.java:800)[:1.7.0_45]
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2279)
>
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501)
>
> at
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
>
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
>
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
> at
> org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1374)
>
> at
> org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1553)
>
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1484)
>
> at
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
>
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
>
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
> at
> org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1844)[org.apache.felix.framework-4.2.1.jar:]
>
> at
> org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:937)[org.apache.felix.framework-4.2.1.jar:]
>
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.loadClass(BlueprintContainerImpl.java:432)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.blueprint.container.BlueprintRepository.loadClass(BlueprintRepository.java:410)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.blueprint.container.GenericType.parse(GenericType.java:113)
>
> at
> org.apache.aries.blueprint.di.AbstractRecipe.doLoadType(AbstractRecipe.java:168)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.blueprint.di.AbstractRecipe.loadType(AbstractRecipe.java:161)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.blueprint.container.BeanRecipe.loadClass(BeanRecipe.java:249)
>
> at
> org.apache.aries.blueprint.container.BeanRecipe.getType(BeanRecipe.java:895)
>
> at
> org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:323)
>
> at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:806)
>
> at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
>
> at
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_45]
> at
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[4:org.apache.aries.blueprint.core:1.3.0]
>
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)[4:org.apache.aries.blueprint.core:1.3.0]
>
> ... 21 more
> Caused by: java.lang.ClassNotFoundException:
> org.apache.camel.spi.EndpointCompleter not found by
> org.apache.activemq.activemq-web-console [175]
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)[org.apache.felix.framework-4.2.1.jar:]
>
> at
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)[org.apache.felix.framework-4.2.1.jar:]
>
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)[org.apache.felix.framework-4.2.1.jar:]
>
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
> ... 52 more
>
> I've narrowed it down to instantiating the ActiveMQComponent bean as the
> cause of the error. Also, I've verified that the camel-core bundle is
> present, active, and contains org.apache.camel.spi.EndpointCompleter.
> Any idea why it can't find the class?
>
> Version Detail: ActiveMQ 5.9.0, Camel 2.12.2, Karaf 3.0.0
> blueprint.xml for reference:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:camel="http://camel.apache.org/schema/blueprint"
> xsi:schemaLocation="
> http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
> http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
> ">
>
> <bean id="connectionFactory"
> class="org.apache.activemq.ActiveMQConnectionFactory">
> <property name="brokerURL" value="tcp://localhost:61616"/>
> </bean>
>
> <bean id="activemq"
> class="org.apache.activemq.camel.component.ActiveMQComponent">
> <property name="connectionFactory" ref="connectionFactory"/>
> </bean>
>
> <bean id="helloBean" class="com.company.test.integ.beans.HelloBean"/>
>
> <camelContext xmlns="http://camel.apache.org/schema/blueprint"
> id="camel">
> <route>
> <from
> uri="cxfrs://http://0.0.0.0:8080/rest?resourceClasses=com.company.test.integ.rest.HelloService&bindingStyle=SimpleConsumer"/>
>
> <setExchangePattern pattern="InOut"/>
> <to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
> <to uri="activemq:queue:test"/>
> </route>
> <route>
> <from uri="activemq:queue:test"/>
> <setExchangePattern pattern="InOut"/>
> <to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
> <choice>
> <when>
> <simple>${header.operationName} == 'hello'</simple>
> <to uri="bean:helloBean?method=hello"/>
> </when>
> <otherwise>
> <log message="Bad operationName: ${header.operationName}"/>
> </otherwise>
> </choice>
> <to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
> </route>
> </camelContext>
>
> </blueprint>
>
> Thanks,
> -Chris
>
>
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: Fwd: Deploy issues in Karaf/Blueprint
Posted by Christopher Arnold <ca...@ptc.com>.
Looks like this is at least related. I removed the activemq-web-console
feature and that seems to get things working. Looking at
bundle:tree-show it looks like for some reason the activemq-web-console
is exporting all of the activemq packages and thus is getting wired to
my bundle instead of activemq-osgi - and activemq-web-console doesn't
get wired to all the dependencies that activemq needs. Looks like this
was already reported to ActiveMQ so hopefully they'll have a fix soon -
we'll probably be needing to have the webconsole for A-MQ for production.
JB - we're using our own broker feature with a custom broker config w/o
JAAS.
Thanks,
-Chris
On 01/23/2014 08:48 AM, Jean-Baptiste Onofré wrote:
> Good point: indeed I would install activemq-broker-noweb instead of
> activemq-broker.
>
> More over, AFAIR, the default activemq-broker feature installs a
> activemq.xml (in etc) including a JAAS plugin for authentication.
> I would try to remove the JAAS plugin.
>
> Regards
> JB
>
> On 01/23/2014 03:37 PM, A. Rothman wrote:
>>
>> A wild guess here, but maybe it's the same issue with the ActiveMQ
>> webconsole bundle as in https://issues.apache.org/jira/browse/AMQ-4850.
>> If you're not using the ActiveMQ web console, try uninstalling it or
>> installing the -noweb feature instead of the full feature, that solved
>> all the NoClassDefFoundErrors I've had with ActiveMQ in Karaf.
>>
>> On 01/23/2014 04:07 PM, Christopher Arnold wrote:
>>> I'm attempting to hot deploy a Camel route using the ActiveMQComponent
>>> into Karaf via the deploy folder using a blueprint xml file but I'm
>>> running into dependency issues. When Karaf attempts to start the
>>> created bundle I see this error:
>>>
>>> 2014-01-22 13:41:51,092 | ERROR | -SNAPSHOT/deploy |
>>> BlueprintContainerImpl | 4 - org.apache.aries.blueprint.core
>>> - 1.3.0 | Unable to start blueprint container for bundle blueprint.xml
>>> org.osgi.service.blueprint.container.ComponentDefinitionException:
>>> Unable to instantiate components
>>> at
>>> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:685)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[2:org.apache.aries.util:1.1.0]
>>>
>>>
>>> at
>>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[2:org.apache.aries.util:1.1.0]
>>>
>>>
>>> at
>>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[2:org.apache.aries.util:1.1.0]
>>>
>>>
>>> at
>>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[2:org.apache.aries.util:1.1.0]
>>>
>>>
>>> at
>>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[2:org.apache.aries.util:1.1.0]
>>>
>>>
>>> at
>>> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.2.1.jar:]
>>>
>>>
>>> at
>>> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)[org.apache.felix.framework-4.2.1.jar:]
>>>
>>>
>>> at
>>> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)[org.apache.felix.framework-4.2.1.jar:]
>>>
>>>
>>> at
>>> org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)[org.apache.felix.framework-4.2.1.jar:]
>>>
>>>
>>> at
>>> org.apache.felix.framework.Felix.startBundle(Felix.java:2092)[org.apache.felix.framework-4.2.1.jar:]
>>>
>>>
>>> at
>>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)[org.apache.felix.framework-4.2.1.jar:]
>>>
>>>
>>> at
>>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1247)[16:org.apache.felix.fileinstall:3.2.6]
>>>
>>>
>>> at
>>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1219)[16:org.apache.felix.fileinstall:3.2.6]
>>>
>>>
>>> at
>>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1208)[16:org.apache.felix.fileinstall:3.2.6]
>>>
>>>
>>> at
>>> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:503)[16:org.apache.felix.fileinstall:3.2.6]
>>>
>>>
>>> at
>>> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291)[16:org.apache.felix.fileinstall:3.2.6]
>>>
>>>
>>> Caused by: java.lang.NoClassDefFoundError:
>>> org/apache/camel/spi/EndpointCompleter
>>> at java.lang.ClassLoader.defineClass1(Native Method)[:1.7.0_45]
>>> at
>>> java.lang.ClassLoader.defineClass(ClassLoader.java:800)[:1.7.0_45]
>>> at
>>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2279)
>>>
>>>
>>> at
>>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501)
>>>
>>>
>>> at
>>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
>>>
>>>
>>> at
>>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
>>>
>>>
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
>>> at
>>> org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1374)
>>>
>>>
>>> at
>>> org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1553)
>>>
>>>
>>> at
>>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1484)
>>>
>>>
>>> at
>>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
>>>
>>>
>>> at
>>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
>>>
>>>
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
>>> at
>>> org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1844)[org.apache.felix.framework-4.2.1.jar:]
>>>
>>>
>>> at
>>> org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:937)[org.apache.felix.framework-4.2.1.jar:]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BlueprintContainerImpl.loadClass(BlueprintContainerImpl.java:432)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BlueprintRepository.loadClass(BlueprintRepository.java:410)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.GenericType.parse(GenericType.java:113)
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.di.AbstractRecipe.doLoadType(AbstractRecipe.java:168)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.di.AbstractRecipe.loadType(AbstractRecipe.java:161)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BeanRecipe.loadClass(BeanRecipe.java:249)
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BeanRecipe.getType(BeanRecipe.java:895)
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:323)
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:806)
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
>>>
>>>
>>> at
>>> java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_45]
>>> at
>>> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> at
>>> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)[4:org.apache.aries.blueprint.core:1.3.0]
>>>
>>>
>>> ... 21 more
>>> Caused by: java.lang.ClassNotFoundException:
>>> org.apache.camel.spi.EndpointCompleter not found by
>>> org.apache.activemq.activemq-web-console [175]
>>> at
>>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)[org.apache.felix.framework-4.2.1.jar:]
>>>
>>>
>>> at
>>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)[org.apache.felix.framework-4.2.1.jar:]
>>>
>>>
>>> at
>>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)[org.apache.felix.framework-4.2.1.jar:]
>>>
>>>
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
>>> ... 52 more
>>>
>>> I've narrowed it down to instantiating the ActiveMQComponent bean as
>>> the
>>> cause of the error. Also, I've verified that the camel-core bundle is
>>> present, active, and contains org.apache.camel.spi.EndpointCompleter.
>>> Any idea why it can't find the class?
>>>
>>> Version Detail: ActiveMQ 5.9.0, Camel 2.12.2, Karaf 3.0.0
>>> blueprint.xml for reference:
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xmlns:camel="http://camel.apache.org/schema/blueprint"
>>> xsi:schemaLocation="
>>> http://www.osgi.org/xmlns/blueprint/v1.0.0
>>> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>>> http://camel.apache.org/schema/blueprint
>>> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
>>> ">
>>>
>>> <bean id="connectionFactory"
>>> class="org.apache.activemq.ActiveMQConnectionFactory">
>>> <property name="brokerURL" value="tcp://localhost:61616"/>
>>> </bean>
>>>
>>> <bean id="activemq"
>>> class="org.apache.activemq.camel.component.ActiveMQComponent">
>>> <property name="connectionFactory" ref="connectionFactory"/>
>>> </bean>
>>>
>>> <bean id="helloBean" class="com.company.test.integ.beans.HelloBean"/>
>>>
>>> <camelContext xmlns="http://camel.apache.org/schema/blueprint"
>>> id="camel">
>>> <route>
>>> <from
>>> uri="cxfrs://http://0.0.0.0:8080/rest?resourceClasses=com.company.test.integ.rest.HelloService&bindingStyle=SimpleConsumer"/>
>>>
>>>
>>> <setExchangePattern pattern="InOut"/>
>>> <to
>>> uri="log:com.company.test.integ?level=INFO&showAll=true"/>
>>> <to uri="activemq:queue:test"/>
>>> </route>
>>> <route>
>>> <from uri="activemq:queue:test"/>
>>> <setExchangePattern pattern="InOut"/>
>>> <to
>>> uri="log:com.company.test.integ?level=INFO&showAll=true"/>
>>> <choice>
>>> <when>
>>> <simple>${header.operationName} == 'hello'</simple>
>>> <to uri="bean:helloBean?method=hello"/>
>>> </when>
>>> <otherwise>
>>> <log message="Bad operationName: ${header.operationName}"/>
>>> </otherwise>
>>> </choice>
>>> <to
>>> uri="log:com.company.test.integ?level=INFO&showAll=true"/>
>>> </route>
>>> </camelContext>
>>>
>>> </blueprint>
>>>
>>> Thanks,
>>> -Chris
>>>
>>>
>>>
>>>
>>
>>
>
Re: Fwd: Deploy issues in Karaf/Blueprint
Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Good point: indeed I would install activemq-broker-noweb instead of
activemq-broker.
More over, AFAIR, the default activemq-broker feature installs a
activemq.xml (in etc) including a JAAS plugin for authentication.
I would try to remove the JAAS plugin.
Regards
JB
On 01/23/2014 03:37 PM, A. Rothman wrote:
>
> A wild guess here, but maybe it's the same issue with the ActiveMQ
> webconsole bundle as in https://issues.apache.org/jira/browse/AMQ-4850.
> If you're not using the ActiveMQ web console, try uninstalling it or
> installing the -noweb feature instead of the full feature, that solved
> all the NoClassDefFoundErrors I've had with ActiveMQ in Karaf.
>
> On 01/23/2014 04:07 PM, Christopher Arnold wrote:
>> I'm attempting to hot deploy a Camel route using the ActiveMQComponent
>> into Karaf via the deploy folder using a blueprint xml file but I'm
>> running into dependency issues. When Karaf attempts to start the
>> created bundle I see this error:
>>
>> 2014-01-22 13:41:51,092 | ERROR | -SNAPSHOT/deploy |
>> BlueprintContainerImpl | 4 - org.apache.aries.blueprint.core
>> - 1.3.0 | Unable to start blueprint container for bundle blueprint.xml
>> org.osgi.service.blueprint.container.ComponentDefinitionException:
>> Unable to instantiate components
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:685)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[2:org.apache.aries.util:1.1.0]
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[2:org.apache.aries.util:1.1.0]
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[2:org.apache.aries.util:1.1.0]
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[2:org.apache.aries.util:1.1.0]
>>
>> at
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[2:org.apache.aries.util:1.1.0]
>>
>> at
>> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.2.1.jar:]
>>
>> at
>> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)[org.apache.felix.framework-4.2.1.jar:]
>>
>> at
>> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)[org.apache.felix.framework-4.2.1.jar:]
>>
>> at
>> org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)[org.apache.felix.framework-4.2.1.jar:]
>>
>> at
>> org.apache.felix.framework.Felix.startBundle(Felix.java:2092)[org.apache.felix.framework-4.2.1.jar:]
>>
>> at
>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)[org.apache.felix.framework-4.2.1.jar:]
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1247)[16:org.apache.felix.fileinstall:3.2.6]
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1219)[16:org.apache.felix.fileinstall:3.2.6]
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1208)[16:org.apache.felix.fileinstall:3.2.6]
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:503)[16:org.apache.felix.fileinstall:3.2.6]
>>
>> at
>> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291)[16:org.apache.felix.fileinstall:3.2.6]
>>
>> Caused by: java.lang.NoClassDefFoundError:
>> org/apache/camel/spi/EndpointCompleter
>> at java.lang.ClassLoader.defineClass1(Native Method)[:1.7.0_45]
>> at java.lang.ClassLoader.defineClass(ClassLoader.java:800)[:1.7.0_45]
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2279)
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501)
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
>>
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
>> at
>> org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1374)
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1553)
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1484)
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
>>
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
>> at
>> org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1844)[org.apache.felix.framework-4.2.1.jar:]
>>
>> at
>> org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:937)[org.apache.felix.framework-4.2.1.jar:]
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.loadClass(BlueprintContainerImpl.java:432)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintRepository.loadClass(BlueprintRepository.java:410)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.blueprint.container.GenericType.parse(GenericType.java:113)
>>
>> at
>> org.apache.aries.blueprint.di.AbstractRecipe.doLoadType(AbstractRecipe.java:168)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.blueprint.di.AbstractRecipe.loadType(AbstractRecipe.java:161)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.loadClass(BeanRecipe.java:249)
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.getType(BeanRecipe.java:895)
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:323)
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:806)
>>
>> at
>> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
>>
>> at
>> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
>>
>> at
>> java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_45]
>> at
>> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> at
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)[4:org.apache.aries.blueprint.core:1.3.0]
>>
>> ... 21 more
>> Caused by: java.lang.ClassNotFoundException:
>> org.apache.camel.spi.EndpointCompleter not found by
>> org.apache.activemq.activemq-web-console [175]
>> at
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)[org.apache.felix.framework-4.2.1.jar:]
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)[org.apache.felix.framework-4.2.1.jar:]
>>
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)[org.apache.felix.framework-4.2.1.jar:]
>>
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
>> ... 52 more
>>
>> I've narrowed it down to instantiating the ActiveMQComponent bean as the
>> cause of the error. Also, I've verified that the camel-core bundle is
>> present, active, and contains org.apache.camel.spi.EndpointCompleter.
>> Any idea why it can't find the class?
>>
>> Version Detail: ActiveMQ 5.9.0, Camel 2.12.2, Karaf 3.0.0
>> blueprint.xml for reference:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xmlns:camel="http://camel.apache.org/schema/blueprint"
>> xsi:schemaLocation="
>> http://www.osgi.org/xmlns/blueprint/v1.0.0
>> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>> http://camel.apache.org/schema/blueprint
>> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
>> ">
>>
>> <bean id="connectionFactory"
>> class="org.apache.activemq.ActiveMQConnectionFactory">
>> <property name="brokerURL" value="tcp://localhost:61616"/>
>> </bean>
>>
>> <bean id="activemq"
>> class="org.apache.activemq.camel.component.ActiveMQComponent">
>> <property name="connectionFactory" ref="connectionFactory"/>
>> </bean>
>>
>> <bean id="helloBean" class="com.company.test.integ.beans.HelloBean"/>
>>
>> <camelContext xmlns="http://camel.apache.org/schema/blueprint"
>> id="camel">
>> <route>
>> <from
>> uri="cxfrs://http://0.0.0.0:8080/rest?resourceClasses=com.company.test.integ.rest.HelloService&bindingStyle=SimpleConsumer"/>
>>
>> <setExchangePattern pattern="InOut"/>
>> <to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
>> <to uri="activemq:queue:test"/>
>> </route>
>> <route>
>> <from uri="activemq:queue:test"/>
>> <setExchangePattern pattern="InOut"/>
>> <to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
>> <choice>
>> <when>
>> <simple>${header.operationName} == 'hello'</simple>
>> <to uri="bean:helloBean?method=hello"/>
>> </when>
>> <otherwise>
>> <log message="Bad operationName: ${header.operationName}"/>
>> </otherwise>
>> </choice>
>> <to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
>> </route>
>> </camelContext>
>>
>> </blueprint>
>>
>> Thanks,
>> -Chris
>>
>>
>>
>>
>
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: Fwd: Deploy issues in Karaf/Blueprint
Posted by "A. Rothman" <am...@amichais.net>.
A wild guess here, but maybe it's the same issue with the ActiveMQ
webconsole bundle as in https://issues.apache.org/jira/browse/AMQ-4850.
If you're not using the ActiveMQ web console, try uninstalling it or
installing the -noweb feature instead of the full feature, that solved
all the NoClassDefFoundErrors I've had with ActiveMQ in Karaf.
On 01/23/2014 04:07 PM, Christopher Arnold wrote:
> I'm attempting to hot deploy a Camel route using the ActiveMQComponent
> into Karaf via the deploy folder using a blueprint xml file but I'm
> running into dependency issues. When Karaf attempts to start the
> created bundle I see this error:
>
> 2014-01-22 13:41:51,092 | ERROR | -SNAPSHOT/deploy |
> BlueprintContainerImpl | 4 - org.apache.aries.blueprint.core
> - 1.3.0 | Unable to start blueprint container for bundle blueprint.xml
> org.osgi.service.blueprint.container.ComponentDefinitionException:
> Unable to instantiate components
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:685)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[2:org.apache.aries.util:1.1.0]
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[2:org.apache.aries.util:1.1.0]
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[2:org.apache.aries.util:1.1.0]
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[2:org.apache.aries.util:1.1.0]
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[2:org.apache.aries.util:1.1.0]
> at
> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.2.1.jar:]
> at
> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)[org.apache.felix.framework-4.2.1.jar:]
> at
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)[org.apache.felix.framework-4.2.1.jar:]
> at
> org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)[org.apache.felix.framework-4.2.1.jar:]
> at
> org.apache.felix.framework.Felix.startBundle(Felix.java:2092)[org.apache.felix.framework-4.2.1.jar:]
> at
> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)[org.apache.felix.framework-4.2.1.jar:]
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1247)[16:org.apache.felix.fileinstall:3.2.6]
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1219)[16:org.apache.felix.fileinstall:3.2.6]
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1208)[16:org.apache.felix.fileinstall:3.2.6]
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:503)[16:org.apache.felix.fileinstall:3.2.6]
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291)[16:org.apache.felix.fileinstall:3.2.6]
> Caused by: java.lang.NoClassDefFoundError:
> org/apache/camel/spi/EndpointCompleter
> at java.lang.ClassLoader.defineClass1(Native Method)[:1.7.0_45]
> at java.lang.ClassLoader.defineClass(ClassLoader.java:800)[:1.7.0_45]
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2279)
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501)
> at
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
> at
> org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1374)
> at
> org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1553)
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1484)
> at
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
> at
> org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1844)[org.apache.felix.framework-4.2.1.jar:]
> at
> org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:937)[org.apache.felix.framework-4.2.1.jar:]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.loadClass(BlueprintContainerImpl.java:432)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.blueprint.container.BlueprintRepository.loadClass(BlueprintRepository.java:410)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.blueprint.container.GenericType.parse(GenericType.java:113)
> at
> org.apache.aries.blueprint.di.AbstractRecipe.doLoadType(AbstractRecipe.java:168)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.blueprint.di.AbstractRecipe.loadType(AbstractRecipe.java:161)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.blueprint.container.BeanRecipe.loadClass(BeanRecipe.java:249)
> at
> org.apache.aries.blueprint.container.BeanRecipe.getType(BeanRecipe.java:895)
> at
> org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:323)
> at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:806)
> at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
> at
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
> at
> java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_45]
> at
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[4:org.apache.aries.blueprint.core:1.3.0]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)[4:org.apache.aries.blueprint.core:1.3.0]
> ... 21 more
> Caused by: java.lang.ClassNotFoundException:
> org.apache.camel.spi.EndpointCompleter not found by
> org.apache.activemq.activemq-web-console [175]
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)[org.apache.felix.framework-4.2.1.jar:]
> at
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)[org.apache.felix.framework-4.2.1.jar:]
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)[org.apache.felix.framework-4.2.1.jar:]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45]
> ... 52 more
>
> I've narrowed it down to instantiating the ActiveMQComponent bean as the
> cause of the error. Also, I've verified that the camel-core bundle is
> present, active, and contains org.apache.camel.spi.EndpointCompleter.
> Any idea why it can't find the class?
>
> Version Detail: ActiveMQ 5.9.0, Camel 2.12.2, Karaf 3.0.0
> blueprint.xml for reference:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:camel="http://camel.apache.org/schema/blueprint"
> xsi:schemaLocation="
> http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
> http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
> ">
>
> <bean id="connectionFactory"
> class="org.apache.activemq.ActiveMQConnectionFactory">
> <property name="brokerURL" value="tcp://localhost:61616"/>
> </bean>
>
> <bean id="activemq"
> class="org.apache.activemq.camel.component.ActiveMQComponent">
> <property name="connectionFactory" ref="connectionFactory"/>
> </bean>
>
> <bean id="helloBean" class="com.company.test.integ.beans.HelloBean"/>
>
> <camelContext xmlns="http://camel.apache.org/schema/blueprint"
> id="camel">
> <route>
> <from
> uri="cxfrs://http://0.0.0.0:8080/rest?resourceClasses=com.company.test.integ.rest.HelloService&bindingStyle=SimpleConsumer"/>
> <setExchangePattern pattern="InOut"/>
> <to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
> <to uri="activemq:queue:test"/>
> </route>
> <route>
> <from uri="activemq:queue:test"/>
> <setExchangePattern pattern="InOut"/>
> <to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
> <choice>
> <when>
> <simple>${header.operationName} == 'hello'</simple>
> <to uri="bean:helloBean?method=hello"/>
> </when>
> <otherwise>
> <log message="Bad operationName: ${header.operationName}"/>
> </otherwise>
> </choice>
> <to uri="log:com.company.test.integ?level=INFO&showAll=true"/>
> </route>
> </camelContext>
>
> </blueprint>
>
> Thanks,
> -Chris
>
>
>
>