[
https://issues.apache.org/jira/browse/CAMEL-7623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14693475#comment-14693475
]
metatech commented on CAMEL-7623:
---------------------------------
In case somebody encounters the same problem, I had nearly an identical stack
trace.
In my case, this was because the activemq-broker.xml was in Blueprint XML, and
the latest Blueprint versions stop all BlueprintContext when the system bundle
(ID 0) is being stopped. This means that business bundles cannot be stopped
because the broker is already stopped.
This can be avoid by defining the following property in the file
"etc/system.properties"
org.apache.aries.blueprint.preemptiveShutdown=false
> Camel is blocked while trying to shutdown a JMS consumer
> --------------------------------------------------------
>
> Key: CAMEL-7623
> URL: https://issues.apache.org/jira/browse/CAMEL-7623
> Project: Camel
> Issue Type: Bug
> Components: camel-jms
> Affects Versions: 2.12.3
> Environment: Karaf 2.3.4, Camel 2.12.3, spring-jms 3.2.5.RELEASE
> Reporter: Martin Lichtin
> Assignee: Claus Ibsen
>
> Camel is blocked while trying to shutdown a JMS consumer.
> {noformat}
> "FelixStartLevel" daemon prio=10 tid=0x00002aaab03d2000 nid=0x6803 in
> Object.wait() [0x00000000405cd000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x000000079b473700> (a java.lang.Object)
> at java.lang.Object.wait(Object.java:503)
> at
> org.springframework.jms.listener.DefaultMessageListenerContainer.doShutdown(DefaultMessageListenerContainer.java:545)
> - locked <0x000000079b473700> (a java.lang.Object)
> at
> org.springframework.jms.listener.AbstractJmsListeningContainer.shutdown(AbstractJmsListeningContainer.java:233)
> at
> org.springframework.jms.listener.AbstractJmsListeningContainer.destroy(AbstractJmsListeningContainer.java:173)
> at
> org.apache.camel.component.jms.DefaultJmsMessageListenerContainer.destroy(DefaultJmsMessageListenerContainer.java:100)
> at
> org.apache.camel.component.jms.JmsConsumer.stopAndDestroyListenerContainer(JmsConsumer.java:179)
> at
> org.apache.camel.component.jms.JmsConsumer.doStop(JmsConsumer.java:217)
> at
> org.apache.camel.support.ServiceSupport.stop(ServiceSupport.java:102)
> at
> org.apache.camel.util.ServiceHelper.stopService(ServiceHelper.java:141)
> at
> org.apache.camel.impl.DefaultShutdownStrategy.shutdownNow(DefaultShutdownStrategy.java:336)
> at
> org.apache.camel.impl.DefaultShutdownStrategy.shutdownRoutesNow(DefaultShutdownStrategy.java:310)
> at
> org.apache.camel.impl.DefaultShutdownStrategy.doShutdown(DefaultShutdownStrategy.java:204)
> at
> org.apache.camel.impl.DefaultShutdownStrategy.shutdownForced(DefaultShutdownStrategy.java:131)
> at
> org.apache.camel.impl.DefaultCamelContext.doStop(DefaultCamelContext.java:1753)
> - locked <0x000000079b1cb208> (a
> org.apache.camel.blueprint.BlueprintCamelContext)
> at
> org.apache.camel.support.ServiceSupport.stop(ServiceSupport.java:102)
> at
> org.apache.camel.blueprint.BlueprintCamelContext.destroy(BlueprintCamelContext.java:119)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:297)
> at
> org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:958)
> at
> org.apache.aries.blueprint.container.BeanRecipe.destroy(BeanRecipe.java:863)
> at
> org.apache.aries.blueprint.container.BlueprintRepository.destroy(BlueprintRepository.java:320)
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.destroyComponents(BlueprintContainerImpl.java:722)
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.tidyupComponents(BlueprintContainerImpl.java:916)
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.destroy(BlueprintContainerImpl.java:866)
> at
> org.apache.aries.blueprint.container.BlueprintExtender$3.run(BlueprintExtender.java:301)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at
> org.apache.aries.blueprint.container.BlueprintExtender.destroyContainer(BlueprintExtender.java:322)
> at
> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:218)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
> at
> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)
> at
> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)
> at
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)
> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4244)
> at org.apache.felix.framework.Felix.stopBundle(Felix.java:2351)
> at
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1214)
> at
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)