Thanks Jason - will take a look!

cheers,

Rob
On Feb 7, 2008, at 6:04 AM, Jason Rosenberg wrote:


All,

In my case, the issue is related to using connection pooling, which don't
expose the idleTimeout property...

I've created a work-around outlined in AMQ-1578, which is specific to the
connection pooling case.

Now my sessions stay alive....

Jason



Jason Rosenberg wrote:

Hi,

I am having the same issue, this doesn't appear fixed, to me....

I'm using a 5.1-SNAPSHOT dated 1/31....

With this broker uri:

failover:(tcp://localhost:61616,tcp://localhost:61617)? initialReconnectDelay=20&maxReconnectDelay=900&randomize=false

I get this error, if I try to use a connection that idles more than 30
seconds:

DEBUG [2008-02-02 18:21:16,927] thread:http-8080-exec-2
FailoverTransport -- Stopped.
WARN  [2008-02-02 18:21:16,928] thread:ActiveMQ Transport:
tcp://localhost/127.0.0.1:61616              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:351)
       at
org .apache .activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
       at
org .apache .activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java: 203)
       at
org .apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java: 195)
       at
org .apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java: 183)
       at java.lang.Thread.run(Thread.java:637)
DEBUG [2008-02-02 18:21:16,937] thread:http-8080-exec-2
FailoverTransport -- Waking up reconnect task
DEBUG [2008-02-02 18:21:16,937] thread:http-8080-exec-2
FailoverTransport -- Started.
DEBUG [2008-02-02 18:21:16,937] thread:http-8080-exec-2
FailoverTransport -- Waking up reconnect task
DEBUG [2008-02-02 18:21:16,939] thread:ActiveMQ Task
FailoverTransport -- Attempting connect to: tcp://localhost:61616
DEBUG [2008-02-02 18:21:16,942] thread:ActiveMQ Task
FailoverTransport -- Connection established
INFO  [2008-02-02 18:21:16,942] thread:ActiveMQ Task
FailoverTransport -- Successfully connected to tcp://localhost:61616

Jason



rajdavies wrote:


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/








--
View this message in context: 
http://www.nabble.com/ActiveMQ-5%3A-Keepalive-problems-tp14994260s2354p15327950.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Reply via email to