Question

We're using AMQ 5.4.2 Broker and NMS.ActiveMQ 1.5.0 with C#. Works very well, just like the Java stack I am mostly used to. However, after about 12 hours, there is a consistent delay between when a message is sent to the queue, and when a perfectly available and idle consumer receives it. Sometimes as much as 30 seconds pass. The fix is to either restart the broker or the consumer applications. So it seems the connections somehow erode over time in terms of responsiveness. It's currently a very lightly loaded system, but that's all about to change :)

So my question is .. for NMS, how long should I keep connections "connected" and should i force a reconnect .. say every 4 hours. I realize this should not be required, but I'm willing to do this if others have found it necessary.

Was it helpful?

Solution

I would recommend that you upgrade from v1.5.0 of NMS.ActiveMQ to the latest v1.5.3 which has some fixes for thread leaks in the Inactivity Monitor that checks for dropped socket connections. Over time those leaks could be what's slowing things down for you so its a safe bet that an upgrade will help. Its possible there are other things slowing you down such as your broker nearing its memory limits etc, but its always best to try the simplest fix first and then work from there.

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