My consumers are not pulling messages off the queue. The message producers are sending to a composite queue, and then pulling from the physical queue. I *AM* using the swiftmq spring support.
It seems similar to what is being discussed toward the end of this thread:
http://www.nabble.com/SwiftMQ-7.4.1-%2B-spring-2.5-%2B-transactions-%2B-ReplyTo-%3D%3D-trouble-td23027339.html(See message at May 12, 2009; 09:32am)
This thread says the problem will go away if you use the spring support, which I am already using.
Doing a jstack, I see that the conumer is hung up here:
"DefaultMessageListenerContainer-1" prio=10 tid=0x00002aaad8ac2800 nid=0x17f8 in Object.wait() [0x0000000041b43000..0x0000000041b43c20]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00002aaacf7f8b08> (a com.swiftmq.jms.v750.QueueReceiverImpl)
at com.swiftmq.tools.util.UninterruptableWaiter.doWait(Unknown Source)
at com.swiftmq.jms.v750.MessageConsumerImpl.receiveMessage(Unknown Source)
- locked <0x00002aaacf7f8b08> (a com.swiftmq.jms.v750.QueueReceiverImpl)
at com.swiftmq.jms.v750.MessageConsumerImpl.receive(Unknown Source)
at com.swiftmq.jms.springsupport.PooledConsumer.receive(Unknown Source)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveMessage(AbstractPollingMessageListenerContainer.java:405)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:308)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
at java.lang.Thread.run(Thread.java:619)