Hi, We are using ActiveMQ 4 as messaging middle ware in our application. Our architecture involves many (~20) durable subscribers and single producer, all consumers are subscribed to a single topic. The producer sends keep alive messages to all consumers periodically.
When one of the consumer goes down, then the pending messages for that consumer are keep growing and over a time it occupying 20MB (default broker memory for AMQ 4) and making broker MemoryPercentageUsed to 100%. After this point the producer is blocked in publish() method. Hope that the default producer flow control mechanism is triggering and halting the producer. Even though other consumers are working fine, due to one down consumer entire messaging system is going into hang state. The broker is in this state till the DOWN consumer is up and consumed its messages. I have gone through documentation and user forums and found that "constantPendingMessageLimitStrategy" and "constantPendingMessageLimit" properties can be used to limit the number of pending messages per consumer. But these options are not working for durable subscribers. I tried with timetolive option with messages also, in AMQ 4 this field is not working (ie., even after timetolive expired the messages are not getting removed from messaging system) Can any body suggest me how can I avoid this issue with durable subscribers and limit the pending messages so that producer will not block and rest of the system will work fine. Thanks and Regards, Kamesh -- View this message in context: http://old.nabble.com/Broker-Hangs-with-Durable-subscriptions-tp26976903p26976903.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.
