activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: Fw: AMQ-cpp problem with ExceptionListener, receive and lost connection
Date Thu, 17 Jun 2010 08:48:16 GMT
Many thanks for the various offers of help I got. I think I have solved 
the problem. The weird core dumping was due to a bad build, due to some 
spurious copies of header files of mine that were out of step with the 
proper ones. Fixed. Now the build is clean I do see the behaviour I expect 
from AMQ. The ExceptionListener works on the server side and I can now 
cope with the Q mgr being restarted. This makes me think that the MQSeries 
behaviour is actually wrong. I think the JMS spec says that the error 
handling mechanim should be to deliver exceptions via the registered 

I wonder if I should use an ExceptionListener on the client side. It is 
not nice to test the connection by writing a spurious message (heartbeat) 
to the request queue, it is rather crude and could clog the Q up. What do 
people think? Is anyone else using ExceptionListeners on the client side?


Andrew Marlow

16/06/2010 13:15
Please respond to


Re: Fw: AMQ-cpp problem with ExceptionListener, receive and lost 

On Wed, 2010-06-16 at 12:30 +0100,
> I have developed a set of interface classes for my client-server system 
> that allow me to switch in either ActiveMQ or MQSeries. I have been 
> testing what happens when the connection is lost to the Q mgr.

> On the client side with ActiveMQ the receive behaves like it times out 
> when the connection goes away. So when that happens I write a heartbeat 
> message to the rqst Q. That does fail if the Q mgr is not there. I found 

> that with MQSeries the receive fails with an exception. So, with 
> a heartbeat approach is not needed.  I must admit, the MQSeries 
> is what I would expect. I was suprised when ActiveMQ didn't do this. Can 

> anyone comment please?
> On the server side I saw similar issues but I react to them differently. 
> make the server die, since the script that kicks it off will restart it. 

> Eventually when the Q mgr comes back this means the server will be up 
> running ok. With MQSeries this is just fine, but with ActiveMQ the 
> just sits in the receive loop. The server cannot write heart beats 
> anywhere so I cannot use that approach on the server side. I tried using 

> an ExceptionListener but it seemed like it was not picking up anything. 
> Using an ExceptionListener was a right pain to add, especially because 
> afterwards I discovered that MQSeries does not need it (or invoke it). 
> What do people do to make their AMQ-cpp servers detect that the Q mgr 
> gone away?

If you could provide a sample application that demonstrates the issue
that would be helpful, also please provide information on what version
of the client you are using and what versions of APR and APR-util you
have installed. 

Tim Bish

This e-mail may contain confidential and/or privileged information. If you are not the intended
recipient (or have received this e-mail in error) please notify the sender immediately and
delete this e-mail. Any unauthorised copying, disclosure or distribution of the material in
this e-mail is prohibited.

Please refer to
 for additional disclosures.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message