Reputation: 6178
I have a question regarding failover with the JBoss application server (5.1) running JBoss ESB 4.9. I will begin with a diagram:
We have a legacy application ("Legacy Producer") producing data on a legacy transport ("Legacy Transport"). We have written an ESB service ("Gateway") that listens on the legacy transport and puts the messages received on the ESB. The messages then follow several orchestration steps to be processed.
This works correctly with one application server running. However, we wish to allow for the failure of an application server. A naive solution, then, is to stand up two such application servers (as shown), in a clustered configuration. However, since this would result in replicating the Gateway services, the result would be two copies of each message being published on the ESB and processed, an undesirable result.
What is the correct way to implement this type of failover?
Upvotes: 1
Views: 982
Reputation: 11
The correct way is to use JMS clustering between the nodes. You need to look at AS / JBoss Messaging (or HornetQ) documentation on how to do this, the ESB doesn't include any quickstarts to demonstrate this.
It might require some steps to publish the jUDDI information as well to both nodes, but there's instructions in the manuals how to do this. Check Programmer's Guide "7.1. Fail-over and load-balancing support"
Upvotes: 1