On Jan 21, 2008, at 9:58 AM, corcorda wrote:
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.
This is fixed in the latest snapshot version
cheers,
Rob
Rob Davies
'Go further faster with Apache Camel!'
http://rajdavies.blogspot.com/