I am using jboss 4.2 and jbossmq. The jms client is behind a firewall (Sonic ESB container). The client listens to the destinations (queue or topic) on jboss server. Everything seems working fine except that when jboss is stopped, the client cannot detect this. When the jboss is restarted, the jms listener cannot pick up message anymore.
On the client, I have a separate thread running all the time to verify the host connection by calling ConnectionFactory factory = (ConnectionFactory) lookup("ConnectionFactory"); The lookup is based on InitialContext which is obtained based on remote jboss server. I expected that if the jboss server is down, factory that is returned should be null, but it is not null. Looks as if the client cache the connection factory? As a result, I cannot detect whether jboss is down or not.
I am forced to periodically closeReceiver and recreatReceiver, which should be unnecessary.
My firewall ports seems opened properly. I am using uil2-service.
I don't have this issue if my client is not behind a firewall (even it is on a different machine from the jboss server). Looks like the fact that the client is behind a firewall causes this problem.
Is there better way to check jboss connection to see if it is alive and if it is different from before?