Failover System
The J2EE Engine provides high and continuous availability to the applications running on it. In case of a server process failure, the failover system performs a transparent for the user failover, thus providing a stable and secure environment for the user applications. The J2EE Engine Session Failover Service provides the functions of the failover system. The Session Failover Service provides HTTP failover and stateful session failover.
HTTP failover can be enabled for enterprise applications that include Web components.
Stateful session failover can be enabled for specific stateful session beans only if the beans are not involved in HTTP sessions and are accessed through RMI-P4.
The Session Failover Service is used by the Web Container for HTTP session failover and the EJB Container for stateful session failover.
The Session Failover Service serializes HTTP sessions and stores all information related to these HTTP sessions in files or in the database. When the server process that processes the HTTP request crashes or is shut down, the dispatcher redirects the request to another server node. The new server process reads the information about the requested session from the persistent storage (that is, it deserializes the HTTP session) that is in the state after the last successfully ended request and continues processing the new request. When the first server process is again up and running, the dispatcher starts redirecting the requests to it. The whole process is transparent to the user.
If enterprise beans are involved in the HTTP session, the EJB Container serializes the beans in a way that it will be possible to deserialize them afterwards if necessary.
The HTTP requests are processed on the server processes. The HTTP sessions are kept on the server processes, too; therefore the HTTP failover is performed on server processes only.
Dispatcher or server failures in the cluster are
detected and managed by the Cluster Manager. For more information, see
Cluster
Communication.
This feature provides failover for stateful sessions after a server process failure. The state of the stateful session is represented in a stateful session instance, which is serialized to a persistent storage. If the server process becomes unavailable, the requests will be redirected to another server process in the cluster. The new server process will deserialize the data from the persistent storage and the session will be restored. This feature adds stability to the stateful beans in the J2EE Engine. It is intended only for stateful session beans that are not invoked by Web components.
Both HTTP failover and stateful session failover are disabled by default. To enable them, see:
·
Enabling and Disabling
HTTP Failover (in the Development Manual)
·
Enabling Stateful
Session Failover (in the Development Manual)
For more information, see Specifying the Failover Persistent Storage.
See also:
HTTP Sessions and
Failover of Web Applications in the Development Manual
Failover for
Enterprise Beans in the Development Manual