You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Eric-AWL <er...@atosorigin.com> on 2009/02/02 12:14:33 UTC

Re: What can be the reason ?

I just see that it's strange that the first error just has messageCount=500
in the first case, and just 1500 in the second !

Eric-AWL 



Eric-AWL wrote:
> 
> 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---tp21750762p21787916.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.