Hi everybody In 4.1.2.
I developped a queuing and multi-threaded mechanism just behind JMS listener : each time a message comes, a thread is prepared, enqueued (Executor) and executed only when an other one dies. I can manage the maximum number of active threads. When I used AUTO_ACKNOWLEDGE Session mode, all was right. As soon as I used CLIENT_ACKNOWLEDGE Mode, I began to have some exceptions 2009-01-30 11:50:07,584 [127.0.0.1:50600] DEBUG Service - Async error occurred: javax.jms.JMSException: Could not correlate acknowledgment with dispatched message: MessageAck {commandId = 86, responseRequired = false, ackType = 0, consumerId = ID:ytsvmx01s-34011-1233312603631-1:1:1:1, firstMessageId = null, lastMessageId = ID:ytsvmx01s-35902-1233312036244-1:1:11:1:237, destination = queue://CATE-CHARGE-Charge, transactionId = null, messageCount = 500} javax.jms.JMSException: Could not correlate acknowledgment with dispatched message: MessageAck {commandId = 86, responseRequired = false, ackType = 0, consumerId = ID:ytsvmx01s-34011-1233312603631-1:1:1:1, firstMessageId = null, lastMessageId = ID:ytsvmx01s-35902-1233312036244-1:1:11:1:237, destination = queue://CATE-CHARGE-Charge, transactionId = null, messageCount = 500} at org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:222) which appeared and all finished by crashing : some messages seems to stay in queues until I stopped ActiveMQ. I suspected the fact that I tried to acknowledge some messages already acknowledge by previous call since acknowledge are not made in the same order than messages come on the listener. So I just installed 5.2 and try to use the INDIVIDUAL_ACKNOWLEDGE mode which is more adapted to my way of managing asynchronous incoming messages. And it's the same thing First : 2009-01-30 17:21:22,012 [127.0.0.1:56345] ERROR Service - Async error occurred: javax.jms.JMSException: Could not correlate acknowledgment with dispatched message: MessageAck {commandId = 3358, responseRequired = false, ackType = 0, consumerId = ID:ytsvmx01s-49014-1233332445917-0:1:1:1, firstMessageId = ID:ytsvmx01s-52231-1233332438071-0:1:16:1:122, lastMessageId = ID:ytsvmx01s-52231-1233332438071-0:1:14:1:362, destination = queue://CATE-CHARGE-ReponseCharge, transactionId = null, messageCount = 1500} javax.jms.JMSException: Could not correlate acknowledgment with dispatched message: MessageAck {commandId = 3358, responseRequired = false, ackType = 0, consumerId = ID:ytsvmx01s-49014-1233332445917-0:1:1:1, firstMessageId = ID:ytsvmx01s-52231-1233332438071-0:1:16:1:122, lastMessageId = ID:ytsvmx01s-52231-1233332438071-0:1:14:1:362, destination = queue://CATE-CHARGE-ReponseCharge, transactionId = null, messageCount = 1500} .... then 2009-01-30 17:21:25,893 [127.0.0.1:56345] ERROR Service - Async error occurred: java.lang.NullPointerException java.lang.NullPointerException at org.apache.activemq.broker.region.Queue.send(Queue.java:328) at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:350) at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:437) .... I don't think that my reference on javax.jms.message is bad when I use acknowledge method. Has anybody a track to follow for me ? Eric -- View this message in context: http://www.nabble.com/What-can-be-the-reason---tp21750762p21750762.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.