Hi, I'm having some issues with ActiveMQ Connection Dispatcher threads. Whenever I get an InactivityIOException the thread goes into the Waiting state and a new thread is started.
== activemq.log == 2011-04-18 10:15:31,244 | ERROR | Could not accept connection : org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long: /127.0.0.1:35401 | org.apache.activemq.broker.TransportConnector | ActiveMQ Task == jstack == "ActiveMQ Connection Dispatcher: /127.0.0.1:35401" daemon prio=10 tid=0x00007f10e440f800 nid=0x63e9 in Object.wait() [0x00007f10ce578000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:105) - locked <0x00007f113bbd4618> (a java.lang.Object) at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36) After running ActiveMQ for a couple of weeks there are more than 3k waiting threads doing nothing but wasting memory. If i disable the inactivity monitor the problem goes away (wireFormat.maxInactivityDuration=0). Is this a known bug ? My configuration: - ActiveMQ 5.3.0 - Pure Master/Slave - Openwire enabled - Flow Control enabled - KahaDB Let me know if you need more informations. I can provide config file and logs if needed. -- Simon-Pierre LeBel [iWeb] IT Architecture Specialist / Technical Lead Spécialiste de l'Architecture TI / Leader Technique http://www.iWeb.com/