On Tue, Jan 5, 2010 at 2:30 PM, Rajith Attapattu <[email protected]> wrote: > Hello Jean, > > It appears that you are using the C++ broker and the java client. > Could you confirm which version you are using? > > On Tue, Jan 5, 2010 at 12:47 PM, Jen Andre <[email protected]> wrote: >> >> Hello, >> >> I have a Java client listener that subscribes to a topic and waits for >> messages. I'm noticing after 120 seconds of idle time (no messages >> received) the connections time out (here's what I see in syslog messages for >> qpidd) >> >> qpidd[3472]: 2010-01-01 16:46:20 error Connection timed out: closing >> >> This is consistent with the debug messages I'm seeing on the client side: >> >> IoReceiver - /192.168.10.128:5672 2010-01-05 12:32:10,126 WARN >> [apache.qpid.transport.ClientDelegate] Ignoring the idle timeout 0 set by >> the connection, using the brokers max value 120 >> >> and >> >> >> IoReceiver - /192.168.10.128:5672 2010-01-05 12:38:57,898 DEBUG >> [apache.qpid.transport.Connection] RECV: [conn:9ced8e] ch=0 >> ConnectionHeartbeat() >> IoReceiver - /192.168.10.128:5672 2010-01-05 12:40:57,899 DEBUG >> [apache.qpid.transport.Connection] RECV: [conn:9ced8e] ch=0 >> ConnectionHeartbeat() >> IoReceiver - /192.168.10.128:5672 2010-01-05 12:40:58,618 DEBUG >> [apache.qpid.transport.Connection] connection closed: conn:9ced8e >> >> >> I'm a bit confused on how timeouts and heartbeats are supposed to work. >> Does the client force the disconnect, or the server, or both, if the >> heartbeats are not received in a specific period of time? > Both the client and the broker could enforce a disconnect if they > don't see any activity during two consecutive heartbeat intervals. > > Do both peers >> send heartbeats? (this seems to imply it does. > Both peers do send a heartbeat. > The JMS client (0-10 version which you are using against the c++ > broker) will echo a heartbeat in response to one sent by the broker. > >> http://qpid.apache.org/configure-broker-and-client-heartbeating.html). > The link you provided is for the JMS Client (0-8 version) and the Java Broker. > At the moment it's slightly different from JMS Client (0-10) and c++ > broker combination. > > The amqj.heartbeat.delay is only effective for the 0-8 codepath. > If you need to set the idle timeout for the 0-10 client you need to > set it in the broker URL as follows > > amqp:///test?brokerlist='tcp://anotherhost:5684?idle_timeout='60'' > Please note the idle_timeout is in secs and not in milisecs.
Hi Jen, I realized I made mistake here. The idle_timeout is in milisecs and not in secs (I confused it with the 0-8 client timeout which is in secs). So if you put the timeout as 60, it would have been set to the brokers default value of 120 secs. I apologize for the mistake here and the correct URL should be amqp:///test?brokerlist='tcp://anotherhost:5684?idle_timeout='60000'' This is a bit ugly and it would be good if the timeouts are specified in secs. I hope to change this behaviour in a future release by introducing a property that will use secs. The older idel_timeout property will remain for backwards compatibility > We are working on consolidating the configuration and behaviour of the > JMS client for both 0-8/9 and 0-10 versions. > >> I do notice that while I see a lot of RECV: heartbeat debug messages on the >> client side, I don't see any SEND: messages that indicates it's sending them >> to server. If the client is supposed to send them to the server >> periodically to ensure the connection stays alive, how can I ensure this is >> happening? (setting system property amqj.heartbeat.delay seems to have no >> effect). >> >> Thanks! >> Jen >> >> >> >> >> >> -- >> View this message in context: >> http://n2.nabble.com/timeouts-tp4256406p4256406.html >> Sent from the Apache Qpid users mailing list archive at Nabble.com. >> >> --------------------------------------------------------------------- >> Apache Qpid - AMQP Messaging Implementation >> Project: http://qpid.apache.org >> Use/Interact: mailto:[email protected] >> >> > > > > -- > Regards, > > Rajith Attapattu > Red Hat > http://rajith.2rlabs.com/ > -- Regards, Rajith Attapattu Red Hat http://rajith.2rlabs.com/ --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
