I did an implementation in which JMS connection is re-established by a daemon thread running on rmi clinet. It is conteneously asking for topic.getClintId(). As long as it is returning value I am sure that jms subscription is alive. if we set the system time back (of clinet machine) jms connection is broken and then topic.getClinetId throws exception. On the bais of this exception I re-subscribe to JMS messageListner. But I have found one more test in which I am closing jms secondaryBindPort sockets from TCP view. Which is NOT getting healed up by above mentioned mechenism. (This works fine if you close serverBindPort as well but fails if you close secondaryBindPort ONLY).
Is there any way to ensure that seconderybind port is closed? Moreover I am intended to provide a solution where by any means JMS subscription should be re-established in case it is broken.