If you don’t want to use IS clustering then you’ll need to write some helper services to do this.
An approach I’ve used in the past is:
-
Create a config file (XML) that lists the host names and ports of the IS instances in the order you want.
-
Create a service (maybe named “should_I_Run”) that determines the name/port of the IS instance it is running on. Then loads the XML file with the list of host names. If the IS instance name matches the first name of the list, then return “true”. If it doesn’t match, ping that IS to see if it responds. If it does, return “false”. If it doesn’t, move to the next name on the list and repeat.
-
In the service to be invoked by the scheduler call the “should_I_Run” service. If it returns true, continue. If false, stop.
All IS instances would do this same approach. In this way, just one of the IS instances will run the service (typically always the first one in the list). But if the first instance is down, the second will run it and so on.
I used an XML file but the list could be anywhere (text file, DB table, etc.).
HTH
#webMethods-Archive#Integration-Server-and-ESB#webMethods