The HADB software is supplied with the Enterprise Server standalone distribution of Sun GlassFish Enterprise Server. For information about available distributions of Sun GlassFish Enterprise Server, see Distribution Types and Their Components in Sun GlassFish Enterprise Server v2.1.1 Installation Guide. HADB features are available only in the enterprise profile. For information about profiles, see Usage Profiles in Sun GlassFish Enterprise Server v2.1.1 Administration Guide.
The Web Container Availability tab of the Availability Service enables you to change these availability settings:
Persistence Type: Specifies the session persistence mechanism for web applications that have availability enabled. Allowed values are memory (no persistence) file (the file system), ha (HADB), and replicated (memory on other servers).
HADB must be configured and enabled before you can use ha session persistence. For configuration details, see configure-ha-cluster(1).
If web container availability is enabled, the default persistence type depends on the profile, as shown in the following table.
Profile |
Persistence Type |
---|---|
Developer |
memory |
Cluster |
replicated |
Enterprise |
ha |
For production environments that require session persistence, use ha or replicated. The memory persistence type and the file persistence type do not provide high availability session persistence.
If web container availability is disabled, the default persistence type memory.
Persistence Frequency: Specifies how often the session state is stored. Applicable only if the Persistence Type is ha or replicated. Allowed values are:
web-method - The session state is stored at the end of each web request prior to sending a response back to the client. This mode provides the best guarantee that the session state is fully updated in case of failure. This is the default.
time-based - The session state is stored in the background at the frequency set by the reapIntervalSeconds store property. This mode provides does not guarantee that session state is fully updated. However, it can provide a significant performance improvement because the state is not stored after each request.
Persistence Scope : Specifies how much of the session object and how often session state is stored. Applicable only if the Persistence Type is ha or replicated. Allowed values are as follows:
session - The entire session state is stored every time. This mode provides the best guarantee that your session data is correctly stored for any distributable web application. This is the default.
modified-session - The entire session state is stored if it has been modified. A session is considered to have been modified if HttpSession.setAttribute() or HttpSession.removeAttribute() was called. You must guarantee that setAttribute() is called every time an attribute is changed. This is not a Java EE specification requirement, but it is required for this mode to work properly.
modified-attribute - Only modified session attributes are stored. For this mode to work properly, you must follow a few guidelines:
Call setAttribute() every time the session state is modified.
Make sure there are no cross-references between attributes. The object graph under each distinct attribute key is serialized and stored separately. If there are any object cross references between the objects under each separate key, they are not serialized and deserialized correctly.
Distribute the session state across multiple attributes, or at least between a read-only attribute and a modifiable attribute.
Single Sign-On State: Check this box to enable persistence of the single sign-on state. To disable it, uncheck the box. For more information, see Using Single Sign-on with Session Failover
HTTP Session Store: You can change the HTTP Session Store if you changed the JDBC resource used for connections to the HADB for session persistence. For details, see configure-ha-cluster(1).