Workload management runtime exceptions
The product client can catch workload management runtime exceptions and implement strategies to handle the situation. For example, it can display an error message if no servers are available.
The workload management service might create the following exceptions if it encounters problems:
- org.omg.CORBA.TRANSIENT with a minor code 1229066306 (0x40421042)
- This exception is created if the workload management routing service cannot retry a request and the failure resulted from a connection error. This exception indicates that the application should invoke some compensation logic and resubmit the request.
- org.omg.CORBA.NO_IMPLEMENT with a minor code 1229066304 (0x49421040)
- This exception is created if the workload management service cannot contact any of the EJB application servers that participate in workload management.
The workload management routing service can reroute a failed request to a different target transparently to the application if the application will not be adversely affected by a second attempt. Currently, the only way is to check if the request did not run in whole or part on the previous attempt. When a request runs in whole or in part, an org.omg.CORBA.TRANSIENT with the minor code 1229066306 (0x49421042) exception is created to signal that a request can be made again. This informs the application that another target might be available to satisfy the request, but the request could not be failed over transparently to the application. Thus, the application can resubmit the request. The routing service creates an org.omg.CORBA.NO_IMPLEMENT with the minor code 1229066304 (0x49421040) exception if it cannot locate a suitable target for the request. The exception is created, for example, if the cluster is stopped or if the application does not have a path to any of the cluster members.