Thanx for the response but it still doesn’t clarify why I am getting this
strange exception. I understand the difference between INDIVIDAUAL and
CLIENT ACK modes, but my sample code fails in both cases. 
Unit tests you pointed me out are unfortunately not relevant in this case,
because consumers there are SYNCH (use receive() method) and mine are ASYNCH
(onMessage()). I already knew, that in SYNCH consumer’s scenario everything
is fine. Maybe I didn’t emphasize this strongly enough in my first post. So,
let’s focus on following use case: CLIENT_ACK mode, more than one ASYNCH
consumer, each consumer shares the same connection but has its own session;
messages are acknowledged in “out of order” way.



Gary Tully wrote:
> 
> This is where I wold expect INDIVIDUAL_ACK to be different from CLIENT
> ACK.
> For a given session message.acknowledge with CLIENT_ACK will ack all
> messages received, but the activemq INDIVIDUAL_ACK mode, just an
> individual
> message should be acknowledged.
> 
> To see if it is actually a problem, I guess a real test case is to use
> INDIVIDUAL ACK and ack out of order (as you are doing), but do not ack the
> the first message. Then verify that the first message is redelivered.
> 
> With CLIENT_ACK on the same session, I would expect no redelivery, but
> with
> INDIVIDUL_ACK there should be redelivery.
> 
> Some of the relevant activemq unit tests are:
> org.apache.activemq.JmsClientAckTest
> org.apache.activemq.JMSIndividualAckTest
> from:
> http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/
> 
> 

-- 
View this message in context: 
http://old.nabble.com/%22Could-not-correlate-acknowledgment-with-dispatched-message%22-tp26308220p26318642.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to