[
https://issues.apache.org/jira/browse/CAMEL-5636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13463234#comment-13463234
]
Raul Kripalani commented on CAMEL-5636:
---------------------------------------
I didn't have time to investigate as soon as I found this issue, so I just
shoved it in JIRA to keep track of it. As you suggested, it has nothing to do
with the JMS consumer, but rather with the Enricher processor not treating
unhandled exceptions thrown from the AggregationStrategy when the async routing
engine has kicked in. On the other hand, synchronous routing is handled
properly.
Changing the summary and description of the ticket to match the real situation.
> Camel JMS consumer freezes after an unhandled exception
> -------------------------------------------------------
>
> Key: CAMEL-5636
> URL: https://issues.apache.org/jira/browse/CAMEL-5636
> Project: Camel
> Issue Type: Bug
> Components: camel-jms
> Reporter: Raul Kripalani
> Assignee: Raul Kripalani
> Fix For: 2.8.0
>
>
> Just experienced an issue with a camel-jms consumer freezing after an
> unhandled exception.
> This is the relevant thread from the thread dump:
> {code}
> "Camel (context) thread #10 - JmsConsumer[queue]" daemon prio=5 tid=103666000
> nid=0x113c25000 waiting on condition [113c24000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <7fd4a8de0> (a
> java.util.concurrent.CountDownLatch$Sync)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:969)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
> at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:207)
> at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:120)
> at
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85)
> at
> org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:91)
> at
> org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)
> at
> org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)
> at
> org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)
> at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)
> at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
> at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
> at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
> at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:680)
> {code}
> Consumer doesn't pick up any new messages thereon, and stays in this state
> forever. When running inside SMX, the container has to be killed with a
> SIGKILL. A SIGTERM has no effect.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira