I'm trying to figure out this behavior and what I may be doing wrong.

Topic is running on 5.7.0 broker

 

Multi-threaded consumer on a topic using this connection

tcp\://10.2.100.209\:61616?keepAlive=true,jms.prefetchPolicy.all=0

 

I'm testing my app under 2 different machines so I have 2 different topic
queues that contain the same messages.

I should mention both these machines are WAN to the broker so 100ms+ round
trip times are quite possible.even over 1 second at times.

 

I'm doing CLIENT_ACKNOWLEDGE.  Receive msg, process it, then acknowledge it.

 

My situation is that Dispatched Queue Size increments once in a while and
then never decrements below a minimum value EVER.

If I stop and restart the client that queue size stays the same.

But.I have received all the messages and acknowledged them (though like I
said that might've taken a second or more).

 

Right now both clients show receiving and successfully acknowledging 134
messages and the subscribers tab shows this for one client:

Dispatched Queue Size = 2

Dispatched Counter = 134

Enqueued Counter = 134

Dequeue Counter = 132

 

And the other client has 0 queue size and 134 Dequeue as it should

 

I've tried setting the redelivery policy with the thought that 0 means don't
redeliver but I get the same behavior.

                ActiveMQConnectionFactory tcf = new
ActiveMQConnectionFactory(BDQueueConnectString);

                RedeliveryPolicy policy = new RedeliveryPolicy();

                policy.setInitialRedeliveryDelay(10*1000L); // may not need
this if 0 redeliveries works

                policy.setMaximumRedeliveries(0);

 

                tcf.setRedeliveryPolicy(policy);

 

I even tried this:

                tcf.setUseRetroactiveConsumer(true);

But other than sending me 1000 messages from the past the Dispatched Queue
Size still stayed at 2.

 

#1 How do I receive/acknowledge/delete those 2 messages that have been
dispatched again?

#2 How do I stop this behavior where my ack's aren't being processed
correctly apparently.

 

 

 

Michael Black

 

Reply via email to