Hi,

I've got a problem with Active MQ v 5.5.0. There seems to be a
situation where after a send the session/connection waits for a
response and waits forever. This is causing my app to hang because of
locking further up the call stack. See the stack trace for the thread
that is hung.

I believe I could put a timeout in the send, but I'd rather try to
understand the problem, as I really need all messages to be sent
successfully. If somebody could help explain what is happenning here I
would greatly appreciate it.

Thanks in advance,

Kevin.

Stack trace:
 sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:317)
org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:40)
org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:87)
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1284)
org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1760)
   - locked java.lang.Object@28c04b6b
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)
org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:592)
org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:569)
org.springframework.jms.core.JmsTemplate$3.doInJms(JmsTemplate.java:536)
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)
org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:534)
com.process.change.ChangeSetTransformer.sendDTOToClient(Unknown Source)
com.process.change.ChangeSetTransformer.processChangeSetList(Unknown Source)
sun.reflect.GeneratedMethodAccessor141.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.integration.util.DefaultMethodInvoker.invokeMethod(DefaultMethodInvoker.java:97)
org.springframework.integration.handler.MessageMappingMethodInvoker.doInvokeMethod(MessageMappingMethodInvoker.java:135)
org.springframework.integration.handler.MessageMappingMethodInvoker.invokeMethod(MessageMappingMethodInvoker.java:107)
org.springframework.integration.handler.ServiceActivatingHandler.handleRequestMessage(ServiceActivatingHandler.java:49)
org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:91)
org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:59)
org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:103)
org.springframework.integration.dispatcher.UnicastingDispatcher.access$0(UnicastingDispatcher.java:93)
org.springframework.integration.dispatcher.UnicastingDispatcher$1.run(UnicastingDispatcher.java:85)
org.springframework.integration.util.ErrorHandlingTaskExecutor$1.run(ErrorHandlingTaskExecutor.java:49)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:662)

Reply via email to