You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by "Allan C." <al...@gmail.com> on 2016/07/08 08:54:39 UTC

Bundle with camel-cxf won't start if updated to newer version

In Karaf 4.0.5, I have a bundle that provides Rest services. When I update
this bundle and restart the bundle, it will fail to start with the
following exception:

08:35:57,069 | ERROR | o.a.a.b.c.BlueprintContainerImpl:437 | 13 | Unable
to start blueprint container for bundle com.bundle.rest/1.0.0
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable
to initialize bean restService
        at
org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:738)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:848)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[13:org.apache.aries.blueprint.core:1.6.1]
        at
java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_101]
        at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[22:org.apache.aries.util:1.1.1]
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[22:org.apache.aries.util:1.1.1]
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[22:org.apache.aries.util:1.1.1]
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[22:org.apache.aries.util:1.1.1]
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[22:org.apache.aries.util:1.1.1]
        at
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)[org.apache.felix.framework-5.4.0.jar:]
        at
org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:731)[org.apache.felix.framework-5.4.0.jar:]
        at
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:486)[org.apache.felix.framework-5.4.0.jar:]
        at
org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541)[org.apache.felix.framework-5.4.0.jar:]
        at
org.apache.felix.framework.Felix.startBundle(Felix.java:2172)[org.apache.felix.framework-5.4.0.jar:]
        at
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)[org.apache.felix.framework-5.4.0.jar:]
        at
org.apache.karaf.bundle.command.Start.executeOnBundle(Start.java:38)[24:org.apache.karaf.bundle.core:4.0.5]
        at
org.apache.karaf.bundle.command.BundlesCommand.doExecute(BundlesCommand.java:64)[24:org.apache.karaf.bundle.core:4.0.5]
        at
org.apache.karaf.bundle.command.BundlesCommand.execute(BundlesCommand.java:54)[24:org.apache.karaf.bundle.core:4.0.5]
        at
org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:83)[44:org.apache.karaf.shell.core:4.0.5]
        at
org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:67)[44:org.apache.karaf.shell.core:4.0.5]
        at
org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:87)[44:org.apache.karaf.shell.core:4.0.5]
        at
org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480)[44:org.apache.karaf.shell.core:4.0.5]
        at
org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406)[44:org.apache.karaf.shell.core:4.0.5]
        at
org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[44:org.apache.karaf.shell.core:4.0.5]
        at
org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182)[44:org.apache.karaf.shell.core:4.0.5]
        at
org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119)[44:org.apache.karaf.shell.core:4.0.5]
        at
org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94)[44:org.apache.karaf.shell.core:4.0.5]
        at
org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:270)[44:org.apache.karaf.shell.core:4.0.5]
        at java.lang.Thread.run(Thread.java:745)[:1.7.0_101]
Caused by: org.apache.cxf.service.factory.ServiceConstructionException
        at
org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:219)
        at
org.apache.cxf.jaxrs.JAXRSServerFactoryBean.init(JAXRSServerFactoryBean.java:142)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)[:1.7.0_101]
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_101]
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_101]
        at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_101]
        at
org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980)[13:org.apache.aries.blueprint.core:1.6.1]
        at
org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:736)[13:org.apache.aries.blueprint.core:1.6.1]
        ... 39 more
Caused by: org.apache.cxf.service.factory.ServiceConstructionException: No
resource classes found
        at
org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.checkResources(AbstractJAXRSFactoryBean.java:317)
        at
org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:159)
        ... 47 more

Everytime I need my rest bundle to start properly after updated, I need to
stop the feature cxf-http-jetty and restart it. Have I missed something or
this is expected?

Same with my DAO bundle (albeit different exception thrown), sometimes I
need to restart hibernate feature to get it working again.

Regards,
Allan C.

Re: Bundle with camel-cxf won't start if updated to newer version

Posted by "Allan C." <al...@gmail.com>.
Hi JB,

Yes you are correct. And also yes, I do a bundle:update follow by
bundle:restart (or resolve or start and stop) will also yield same result.
The jaxrs server is also running over a camel-jetty route.

Regards,
Allan C.

On Fri, Jul 8, 2016 at 8:01 PM, Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:

> Hi Allan,
>
> I guess that your bundle contains:
> - the JAX-RS annotation (@Path, @GET, ...)
> - a blueprint XML containing <jaxrs:server/>
>
> Correct ?
>
> When you mean update bundle, you mean bundle:update and then
> bundle:restart ?
>
> Regards
> JB
>
>
> On 07/08/2016 10:54 AM, Allan C. wrote:
>
>> In Karaf 4.0.5, I have a bundle that provides Rest services. When I
>> update this bundle and restart the bundle, it will fail to start with
>> the following exception:
>>
>> 08:35:57,069 | ERROR | o.a.a.b.c.BlueprintContainerImpl:437 | 13 |
>> Unable to start blueprint container for bundle com.bundle.rest/1.0.0
>> org.osgi.service.blueprint.container.ComponentDefinitionException:
>> Unable to initialize bean restService
>>          at
>>
>> org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:738)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:848)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>> java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_101]
>>          at
>>
>> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[22:org.apache.aries.util:1.1.1]
>>          at
>>
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[22:org.apache.aries.util:1.1.1]
>>          at
>>
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[22:org.apache.aries.util:1.1.1]
>>          at
>>
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[22:org.apache.aries.util:1.1.1]
>>          at
>>
>> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[22:org.apache.aries.util:1.1.1]
>>          at
>>
>> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)[org.apache.felix.framework-5.4.0.jar:]
>>          at
>>
>> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:731)[org.apache.felix.framework-5.4.0.jar:]
>>          at
>>
>> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:486)[org.apache.felix.framework-5.4.0.jar:]
>>          at
>>
>> org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541)[org.apache.felix.framework-5.4.0.jar:]
>>          at
>>
>> org.apache.felix.framework.Felix.startBundle(Felix.java:2172)[org.apache.felix.framework-5.4.0.jar:]
>>          at
>>
>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)[org.apache.felix.framework-5.4.0.jar:]
>>          at
>>
>> org.apache.karaf.bundle.command.Start.executeOnBundle(Start.java:38)[24:org.apache.karaf.bundle.core:4.0.5]
>>          at
>>
>> org.apache.karaf.bundle.command.BundlesCommand.doExecute(BundlesCommand.java:64)[24:org.apache.karaf.bundle.core:4.0.5]
>>          at
>>
>> org.apache.karaf.bundle.command.BundlesCommand.execute(BundlesCommand.java:54)[24:org.apache.karaf.bundle.core:4.0.5]
>>          at
>>
>> org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:83)[44:org.apache.karaf.shell.core:4.0.5]
>>          at
>>
>> org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:67)[44:org.apache.karaf.shell.core:4.0.5]
>>          at
>>
>> org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:87)[44:org.apache.karaf.shell.core:4.0.5]
>>          at
>>
>> org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480)[44:org.apache.karaf.shell.core:4.0.5]
>>          at
>>
>> org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406)[44:org.apache.karaf.shell.core:4.0.5]
>>          at
>>
>> org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[44:org.apache.karaf.shell.core:4.0.5]
>>          at
>>
>> org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182)[44:org.apache.karaf.shell.core:4.0.5]
>>          at
>>
>> org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119)[44:org.apache.karaf.shell.core:4.0.5]
>>          at
>>
>> org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94)[44:org.apache.karaf.shell.core:4.0.5]
>>          at
>>
>> org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:270)[44:org.apache.karaf.shell.core:4.0.5]
>>          at java.lang.Thread.run(Thread.java:745)[:1.7.0_101]
>> Caused by: org.apache.cxf.service.factory.ServiceConstructionException
>>          at
>>
>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:219)
>>          at
>>
>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.init(JAXRSServerFactoryBean.java:142)
>>          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)[:1.7.0_101]
>>          at
>>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_101]
>>          at
>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_101]
>>          at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_101]
>>          at
>>
>> org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980)[13:org.apache.aries.blueprint.core:1.6.1]
>>          at
>>
>> org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:736)[13:org.apache.aries.blueprint.core:1.6.1]
>>          ... 39 more
>> Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
>> No resource classes found
>>          at
>>
>> org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.checkResources(AbstractJAXRSFactoryBean.java:317)
>>          at
>>
>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:159)
>>          ... 47 more
>>
>> Everytime I need my rest bundle to start properly after updated, I need
>> to stop the feature cxf-http-jetty and restart it. Have I missed
>> something or this is expected?
>>
>> Same with my DAO bundle (albeit different exception thrown), sometimes I
>> need to restart hibernate feature to get it working again.
>>
>> Regards,
>> Allan C.
>>
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

Re: Bundle with camel-cxf won't start if updated to newer version

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Allan,

I guess that your bundle contains:
- the JAX-RS annotation (@Path, @GET, ...)
- a blueprint XML containing <jaxrs:server/>

Correct ?

When you mean update bundle, you mean bundle:update and then 
bundle:restart ?

Regards
JB

On 07/08/2016 10:54 AM, Allan C. wrote:
> In Karaf 4.0.5, I have a bundle that provides Rest services. When I
> update this bundle and restart the bundle, it will fail to start with
> the following exception:
>
> 08:35:57,069 | ERROR | o.a.a.b.c.BlueprintContainerImpl:437 | 13 |
> Unable to start blueprint container for bundle com.bundle.rest/1.0.0
> org.osgi.service.blueprint.container.ComponentDefinitionException:
> Unable to initialize bean restService
>          at
> org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:738)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:848)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_101]
>          at
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[22:org.apache.aries.util:1.1.1]
>          at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[22:org.apache.aries.util:1.1.1]
>          at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[22:org.apache.aries.util:1.1.1]
>          at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[22:org.apache.aries.util:1.1.1]
>          at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[22:org.apache.aries.util:1.1.1]
>          at
> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)[org.apache.felix.framework-5.4.0.jar:]
>          at
> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:731)[org.apache.felix.framework-5.4.0.jar:]
>          at
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:486)[org.apache.felix.framework-5.4.0.jar:]
>          at
> org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541)[org.apache.felix.framework-5.4.0.jar:]
>          at
> org.apache.felix.framework.Felix.startBundle(Felix.java:2172)[org.apache.felix.framework-5.4.0.jar:]
>          at
> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)[org.apache.felix.framework-5.4.0.jar:]
>          at
> org.apache.karaf.bundle.command.Start.executeOnBundle(Start.java:38)[24:org.apache.karaf.bundle.core:4.0.5]
>          at
> org.apache.karaf.bundle.command.BundlesCommand.doExecute(BundlesCommand.java:64)[24:org.apache.karaf.bundle.core:4.0.5]
>          at
> org.apache.karaf.bundle.command.BundlesCommand.execute(BundlesCommand.java:54)[24:org.apache.karaf.bundle.core:4.0.5]
>          at
> org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:83)[44:org.apache.karaf.shell.core:4.0.5]
>          at
> org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:67)[44:org.apache.karaf.shell.core:4.0.5]
>          at
> org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:87)[44:org.apache.karaf.shell.core:4.0.5]
>          at
> org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480)[44:org.apache.karaf.shell.core:4.0.5]
>          at
> org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406)[44:org.apache.karaf.shell.core:4.0.5]
>          at
> org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[44:org.apache.karaf.shell.core:4.0.5]
>          at
> org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182)[44:org.apache.karaf.shell.core:4.0.5]
>          at
> org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119)[44:org.apache.karaf.shell.core:4.0.5]
>          at
> org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94)[44:org.apache.karaf.shell.core:4.0.5]
>          at
> org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:270)[44:org.apache.karaf.shell.core:4.0.5]
>          at java.lang.Thread.run(Thread.java:745)[:1.7.0_101]
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException
>          at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:219)
>          at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.init(JAXRSServerFactoryBean.java:142)
>          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)[:1.7.0_101]
>          at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_101]
>          at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_101]
>          at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_101]
>          at
> org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980)[13:org.apache.aries.blueprint.core:1.6.1]
>          at
> org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:736)[13:org.apache.aries.blueprint.core:1.6.1]
>          ... 39 more
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
> No resource classes found
>          at
> org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.checkResources(AbstractJAXRSFactoryBean.java:317)
>          at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:159)
>          ... 47 more
>
> Everytime I need my rest bundle to start properly after updated, I need
> to stop the feature cxf-http-jetty and restart it. Have I missed
> something or this is expected?
>
> Same with my DAO bundle (albeit different exception thrown), sometimes I
> need to restart hibernate feature to get it working again.
>
> Regards,
> Allan C.

-- 
Jean-Baptiste Onofr�
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: Bundle with camel-cxf won't start if updated to newer version

Posted by "Allan C." <al...@gmail.com>.
Sorry for raising this old post. In 4.0.5 I am encountering
ServiceConstructionException when karaf is started. The workaround is to
stop cxf-http-jetty feature. Appreciate any hints. Thanks.



On 8 July 2016 at 16:54, Allan C. <al...@gmail.com> wrote:

> In Karaf 4.0.5, I have a bundle that provides Rest services. When I update
> this bundle and restart the bundle, it will fail to start with the
> following exception:
>
> 08:35:57,069 | ERROR | o.a.a.b.c.BlueprintContainerImpl:437 | 13 | Unable
> to start blueprint container for bundle com.bundle.rest/1.0.0
> org.osgi.service.blueprint.container.ComponentDefinitionException: Unable
> to initialize bean restService
>         at org.apache.aries.blueprint.container.BeanRecipe.
> runBeanProcInit(BeanRecipe.java:738)[13:org.apache.aries.
> blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BeanRecipe.
> internalCreate2(BeanRecipe.java:848)[13:org.apache.aries.
> blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BeanRecipe.
> internalCreate(BeanRecipe.java:811)[13:org.apache.aries.
> blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.di.AbstractRecipe$1.call(
> AbstractRecipe.java:79)[13:org.apache.aries.blueprint.core:1.6.1]
>         at java.util.concurrent.FutureTask.run(FutureTask.
> java:262)[:1.7.0_101]
>         at org.apache.aries.blueprint.di.AbstractRecipe.create(
> AbstractRecipe.java:88)[13:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintRepository.
> createInstances(BlueprintRepository.java:255)[
> 13:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintRepository.
> createAll(BlueprintRepository.java:186)[13:org.apache.aries.
> blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintContainerImpl.
> instantiateEagerComponents(BlueprintContainerImpl.java:
> 724)[13:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.
> BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:
> 411)[13:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.
> BlueprintContainerImpl.run(BlueprintContainerImpl.java:
> 276)[13:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintExtender.
> createContainer(BlueprintExtender.java:300)[13:org.apache.aries.blueprint.
> core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintExtender.
> createContainer(BlueprintExtender.java:269)[13:org.apache.aries.blueprint.
> core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintExtender.
> createContainer(BlueprintExtender.java:265)[13:org.apache.aries.blueprint.
> core:1.6.1]
>         at org.apache.aries.blueprint.container.BlueprintExtender.
> modifiedBundle(BlueprintExtender.java:255)[13:org.apache.aries.blueprint.
> core:1.6.1]
>         at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$
> Tracked.customizerModified(BundleHookBundleTracker.java:
> 500)[22:org.apache.aries.util:1.1.1]
>         at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$
> Tracked.customizerModified(BundleHookBundleTracker.java:
> 433)[22:org.apache.aries.util:1.1.1]
>         at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$
> AbstractTracked.track(BundleHookBundleTracker.java:
> 725)[22:org.apache.aries.util:1.1.1]
>         at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$
> Tracked.bundleChanged(BundleHookBundleTracker.java:
> 463)[22:org.apache.aries.util:1.1.1]
>         at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$
> BundleEventHook.event(BundleHookBundleTracker.java:
> 422)[22:org.apache.aries.util:1.1.1]
>         at org.apache.felix.framework.util.SecureAction.
> invokeBundleEventHook(SecureAction.java:1179)[org.
> apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.util.EventDispatcher.
> createWhitelistFromHooks(EventDispatcher.java:731)[org.
> apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.util.EventDispatcher.
> fireBundleEvent(EventDispatcher.java:486)[org.
> apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.Felix.fireBundleEvent(Felix.
> java:4541)[org.apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:
> 2172)[org.apache.felix.framework-5.4.0.jar:]
>         at org.apache.felix.framework.BundleImpl.start(BundleImpl.
> java:998)[org.apache.felix.framework-5.4.0.jar:]
>         at org.apache.karaf.bundle.command.Start.executeOnBundle(
> Start.java:38)[24:org.apache.karaf.bundle.core:4.0.5]
>         at org.apache.karaf.bundle.command.BundlesCommand.
> doExecute(BundlesCommand.java:64)[24:org.apache.karaf.bundle.core:4.0.5]
>         at org.apache.karaf.bundle.command.BundlesCommand.
> execute(BundlesCommand.java:54)[24:org.apache.karaf.bundle.core:4.0.5]
>         at org.apache.karaf.shell.impl.action.command.ActionCommand.
> execute(ActionCommand.java:83)[44:org.apache.karaf.shell.core:4.0.5]
>         at org.apache.karaf.shell.impl.console.osgi.secured.
> SecuredCommand.execute(SecuredCommand.java:67)[44:
> org.apache.karaf.shell.core:4.0.5]
>         at org.apache.karaf.shell.impl.console.osgi.secured.
> SecuredCommand.execute(SecuredCommand.java:87)[44:
> org.apache.karaf.shell.core:4.0.5]
>         at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.
> java:480)[44:org.apache.karaf.shell.core:4.0.5]
>         at org.apache.felix.gogo.runtime.Closure.executeStatement(
> Closure.java:406)[44:org.apache.karaf.shell.core:4.0.5]
>         at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[44:
> org.apache.karaf.shell.core:4.0.5]
>         at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:
> 182)[44:org.apache.karaf.shell.core:4.0.5]
>         at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:
> 119)[44:org.apache.karaf.shell.core:4.0.5]
>         at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(
> CommandSessionImpl.java:94)[44:org.apache.karaf.shell.core:4.0.5]
>         at org.apache.karaf.shell.impl.console.ConsoleSessionImpl.
> run(ConsoleSessionImpl.java:270)[44:org.apache.karaf.shell.core:4.0.5]
>         at java.lang.Thread.run(Thread.java:745)[:1.7.0_101]
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException
>         at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(
> JAXRSServerFactoryBean.java:219)
>         at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.init(
> JAXRSServerFactoryBean.java:142)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)[:1.7.0_101]
>         at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:57)[:1.7.0_101]
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)[:1.7.0_101]
>         at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_101]
>         at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(
> ReflectionUtils.java:299)[13:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BeanRecipe.invoke(
> BeanRecipe.java:980)[13:org.apache.aries.blueprint.core:1.6.1]
>         at org.apache.aries.blueprint.container.BeanRecipe.
> runBeanProcInit(BeanRecipe.java:736)[13:org.apache.aries.
> blueprint.core:1.6.1]
>         ... 39 more
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
> No resource classes found
>         at org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.checkResources(
> AbstractJAXRSFactoryBean.java:317)
>         at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(
> JAXRSServerFactoryBean.java:159)
>         ... 47 more
>
> Everytime I need my rest bundle to start properly after updated, I need to
> stop the feature cxf-http-jetty and restart it. Have I missed something or
> this is expected?
>
> Same with my DAO bundle (albeit different exception thrown), sometimes I
> need to restart hibernate feature to get it working again.
>
> Regards,
> Allan C.
>