Description
Non Durable Topic subscription with prefetch=0, MessageConsumer.receivenowait() (or MessageConsumer.receive(timeout) hangs indefinitely.
I get the following thread dump
"main" prio=5 tid=7f996d000000 nid=0x105bc3000 in Object.wait() [105bc1000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <7f39f1b30> (a java.lang.Object) at java.lang.Object.wait(Object.java:485) at org.apache.activemq.SimplePriorityMessageDispatchChannel.dequeue(SimplePriorityMessageDispatchChannel.java:87) - locked <7f39f1b30> (a java.lang.Object) at org.apache.activemq.ActiveMQMessageConsumer.dequeue(ActiveMQMessageConsumer.java:468) at org.apache.activemq.ActiveMQMessageConsumer.receiveNoWait(ActiveMQMessageConsumer.java:621) at org.apache.activemq.usecases.TopicSubscriptionZeroPrefetchTest.testTopicConsumerPrefetchZero(TopicSubscriptionZeroPrefetchTest.java:71)
It seems the TopicSubscription does not support "pullMessage".
This only appears to impact Non Durable Topic Subscriptions. Durable Topic Subscriptions with prefetch=0 do NOT exhibit this behavior.