Fos sake of correctness let me add that JMS Connection' javax.jms.ExceptionListener should not re-create client JMS Connection; it is to notify the client the JMS Connection is broken and to return fast. It is a responsibility of the client to close JMS resources and to try to re-create them.