Question

I recently upgraded to NMS ActiveMQ 1.5.2 and when I restart the broker, the connection and the consumers get restored, but they get restored to the "pull" mode, which means the broker will not send them messages automatically. This isn't how the previous version behaved. What I need is for it to recover back to the way it was, which was prefetch 1000. I think I must be missing a setting for the failover URL or something like that.

Anyone here know what I can try?

My stack is:

AMQ Broker 5.4.2
Spring.NET 1.3.2
Apache.NMS 1.5.0
Apache.NMS.ActiveMQ 1.5.2
(all the latest releases)

Here is the consumer logs entries I see when I restart the broker:

restore consumer: ID:csi-dul-516m-6334-634583598187658753-1:0:-1:1 in pull mode pending recovery, overriding prefetch: 1000
restore consumer: ID:csi-dul-516m-6334-634583598187658753-1:0:-1:1
restore consumer: ID:csi-dul-516m-6334-634583598187658753-1:0:1:1 in pull mode pending    
recovery, overriding prefetch: 1000
restore consumer: ID:csi-dul-516m-6334-634583598187658753-1:0:1:1
restore consumer: ID:csi-dul-516m-6334-634583598187658753-1:0:2:1 in pull mode pending    
recovery, overriding prefetch: 1000
restore consumer: ID:csi-dul-516m-6334-634583598187658753-1:0:2:1
Sending queued commands...
Transport has resumed normal operation.
Connection established
Successfully reconnected to: tcp://localhost:61616/
Was it helpful?

Solution

I upgraded to Apache.NMS 1.5.3 and it corrected the behavior. So 1.5.2 carried a defect and probably should not be used.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top