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. <[email protected]> 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. >
