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é <[email protected]> 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é > [email protected] > http://blog.nanthrax.net > Talend - http://www.talend.com >
