Skip to main content

GlassFish Admin Console JMS synchronize in cluster

Please note these java.net forums are being decommissioned and use the new and improved forums at https://community.oracle.com/community/java.
No replies
sunny_sunny
Offline
Joined: 2013-10-10

I have a problem using Message Driven Beans in CLUSTERED Glassfish 3.1.1. The problem is with the queue in the Glassfish, the queue is not synchronized between the instances. I am trying by best to explain the scenario below.

I created 2 instances in a GlassFish cluster, created a JMS QueueConnectionFactory, created a JMS Queue. Their targets were made towards the cluster. Then I deployed the web application and the MessageDrivenBean module in the cluster. The web application sends a TextMessage to the JMS Queue. Everything works well here, like the message is sent to the queue and served by the message driven beans in both the instances.

Then I disable the MessageDrivenBean module. Request the web application which sends the message to the JMS Queue in both the instances. Then I shutdown myInstance2. Re-deploy the MDB in the cluster. Now here is the problem, the MessageDrivenBean only receives the messages of myInstance1 and not the messages sent to myInstance2's queue. The messages in the queue of myInstance2 are only served when myInstance2 is started.

Can anyone help me here with the settings that GlassFish uses to synchronize the queue in both the instance so that when for some reason when one instance is down and there are messages in that instance’s queue, the other instance will take the messages of that queue and serve them.

I am using OpenMQ, GlassFish 3.1.1 and I have turned on the HA(high availability) option of JMS in GlassFish, but still it does not work.

Looking forward for you answers. Thanks