We've been using ActiveMQ 4.1.1 for several months and it works well. I'm looking at upgrading to version 5 to make use of some bug fixes and I'm having trouble.
The main problem is inactivity exceptions keep happening. The exact exception is at the bottom of this message. I haven't changed the connection string from v4.1.1 and it works fine there. It will work if I disable inactivity duration (set it to 0) but that means the broker doesn't know when I've disconnected. So, without disabling the inactivity monitor is there a way of making this work as it did in version4.1.1? >From looking at the InactivityMonitor it looks like it should send a KeepAliveInfo message at half the inactivity duration. Perhaps the broker isn't sending a response back? Or perhaps it's not sending a response back in time? Something interesting and slightly related is that the FailoverTransport doesn't reconnect correctly after being left run for a long time. I let it run over the weekend where it reconnected lots of times but this morning the blocking receive didn't pick up new messages in the message queue. Before the weekend it worked fine, even after a failover reconnect. Any help would be great. Thanks. 21 Jan 09:04:20 WARN [ActiveMQ: Inactivity Handler: localhost/127.0.0.1:1616] FailoverTransport - Transport failed, attempting to automatically reconnect due to: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long: localhost/127.0.0.1:1616 org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long: localhost/127.0.0.1:1616 at org.apache.activemq.transport.InactivityMonitor$4.run(InactivityMonitor.java:108) 21 Jan 09:04:20 WARN [ActiveMQ Transport: tcp://localhost/127.0.0.1:1616] FailoverTransport - Transport failed, attempting to automatically reconnect due to: java.net.SocketException: Socket closed java.net.SocketException: Socket closed at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50) at org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58) at java.io.DataInputStream.readInt(DataInputStream.java:353) at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:268) at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:192) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:184) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:172) at java.lang.Thread.run(Thread.java:595) 21 Jan 09:04:20 INFO [ActiveMQ Task] FailoverTransport$1 - Successfully reconnected to tcp://localhost:1616?wireFormat.maxInactivityDuration=5000 -- View this message in context: http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p14994260.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.