EJB workload management failover

 

This section is a short summary on EJB failover. EJB workload management failover is covered in more detail in 9.4, EJB container failover.

The EJB workload management plug-in uses the following failover strategies: If the workload management plug-in cannot contact a cluster member, it automatically redirects the request to another cluster member, providing automatic failover. If the application throws an exception, automatic failover does not occur. The workload management plug-in does not retry the request because it cannot know whether the request was completed. The workload management plug-in will catch and wrap communication failure exceptions in a TRANSIENT exception in those cases where transparent failover could not be achieved because it is unknown exactly how much processing the server did before the failure occurred. But should the application execute some compensation logic to get the state in a server back to where it should be (by performing a rollback or whatever needs to be done), then the request could be re-executed with potentially a different result (success). So, while the request could not transparently be failed over, there are still other cluster members available and if the request were tried again it might succeed. The application compensation and retry logic should stop retrying when a NO_IMPLEMENT exception is thrown instead of a TRANSIENT exception, because this indicates that no servers are available to handle the request.

This means that there are two different ways of how the EJB workload management plug-in handles failure situations: Exceptions that workload management reacts to by transparently sending the failed request to a different server that may complete it successfully. These exceptions are listed in 6.7.1, Exceptions triggering automatic failover. Exceptions that WLM throws out to the application to react to. These exceptions are listed in 6.7.2, Exceptions thrown by WLM to the application.

  Prev | Home | Next

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.