I am using JBossAS-5.1.x and HornetQ-2.2.10. I have configured High Availability for HornetQ Server in following manner:
1) HornetQ is embedded in JBoss Server.
2) I have two nodes in JBoss Application Server level Cluster.
3) HornetQ Server is cluster enabled as well.
4) HornetQ HA/Failover is configured in HornetQ Server Configurations.
5) I deploy my application EARs in HASignleton mode on two nodes (i.e. node0 and node1)
6) Node0 is configured as "preferredMaster" using "PreferredMasterElectionPolicy"
7) Node0 is configured as Live and Node1 is configured as Backup as part of HornetQ Configurations.
I have tested following cases to test HotnetQ HA:
1) Both the Nodes are started
2) Processing started
3) After some number of messages processed, I killed Node0
4) Node1 took control
5) Now Node0 started
6) Node1 left control and Node0 took control due to PreferredMasterElectionPolicy.
7) Now again I killed Node0.
8) Again Node1 took control
9) I waited till my processing finished.
10) Processing finished successfully.
11) Now after I am willing to run my processing again.
12) Node1 was already up, I started Node0 as I had killed it in Step#7.
13) I started processing
14) I killed Node0
15) NOW HERE IS THE PROBLEM *** Node1 could not start processing *** . Exceptions are started thrown.
16) Now, because Node1 could not start processing, I started Node0.
17) Processing started on Node0
18) I waited till my processing finished.
19) Processing finished.
20) *** But some messages are missed for processing ***
Can anyone please suggest some pointers on the same. I have attached Logs and HornetQ Configurations for both the nodes.