I am using jboss-messaging with JBoss 4.2.X in a cluster. I created a clustered topic and added a MDB that listens to that topic.
To test fault tolerance, I use a cluster of two machines (I'll call them m1 and m2). m1 is always started first so it would initially be the master node of the cluster..
Initially, when a message was sent to the topic (from wither m1 or m2), both m1 and m2 received a copy. Then I shut down m1 and sent a few other messages (from m2). I was hoping that m2 would get the messages.
I repeated this test several times. In some cases everything was as I expected, but in many cases, m2 stopped getting messages from that topic completely.
If I restarted m1, it would join the cluster (this time as a non-master node); and it would get any message sent to the topic, but m2 still didn't get anything unless I restarted JBoss on it.
Can anyone explain why this may happen? Isn't it correct to assume that when we have a clustered topic, all nodes in the cluster should see messages sent to that topic and if any node leaves the cluster, the topic would still remain active?
I'll include my MDB configuration below.
Thanks a lot
public class TestTopicMDB implements MessageListener