Env: ActiveMQ 4.1.1, Spring 2.5.4, JDK1.6 I have a number of clients (about 9) connecting to an external broker using TCP transport. When one of the clients sends a volley of messages, the activemq connection seems to deadlock - I say *seems* to because I see no deadlocks in the full thread dump of the VM.
This issue seems similar to http://issues.apache.org/activemq/browse/AMQ-897 with the exception that no deadlock is apparent in the stack trace. The client applications hangs forever. Is this a known issue? How do I remedy this problem? I am also curious that while I have configured no failover, the stack trace below seems to entail FailoverTransport. Any help appreciated! Rgds, /Um "ActiveMQ Task" daemon prio=10 tid=0x09d49c00 nid=0x665b waiting for monitor entry [0x18ead000..0x18eae0a0] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.activemq.transport.failover.FailoverTransport$2.iterate(FailoverTransport.java:154) - waiting to lock <0x3aa37070> (a java.lang.Object) at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:117) at org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunner.java:26) at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:44) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:619) "Thread-164" daemon prio=10 tid=0x09166c00 nid=0x6646 runnable [0x1feba000..0x1febb120] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Throwable.fillInStackTrace(Native Method) - waiting to lock <0xa396cd88> (a java.lang.InterruptedException) at java.lang.Throwable.<init>(Throwable.java:181) at java.lang.Exception.<init>(Exception.java:29) at java.lang.InterruptedException.<init>(InterruptedException.java:38) at java.lang.Object.wait(Native Method) at org.apache.activemq.transport.failover.FailoverTransport.oneway(FailoverTransport.java:358) - locked <0x3aa37070> (a java.lang.Object) at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:47) - locked <0x3aa3d010> (a java.lang.Object) at org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69) at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74) at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1175) at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1263) - locked <0x3aa3d018> (a org.apache.activemq.ActiveMQConnection) at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:276) at org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:196) at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:450) at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:526) //...