Enables availability in the web container, including HTTP session persistence. If HADB is installed and you have selected the enterprise profile, sessions are persisted to the HADB.
If availability is disabled, there is no high availability for HTTP session persistence. In other words, persistence-type=memory.
If availability is enabled but no other web-container-availability attributes are specified, the default session persistence configuration is as follows:
persistence-type=replicated persistence-frequency=time-based persistence-scope=session
If HADB is installed and you have selected the enterprise profile, the default persistence type is ha.
The default configuration for all applications can be changed by setting the various web-container-availability attributes and properties.
You can override the various web-container-availability attributes and properties for a specific application in sun-web.xml. For details, see the Sun GlassFish Enterprise Server v2.1.1 Developer’s Guide.
For additional replicated session persistence properties you can set, see availability-service.
The following table describes subelements for the web-container-availability element.
Table 1–193 web-container-availability Subelements
Element |
Required |
Description |
---|---|---|
zero or more |
Specifies a property or a variable. |
The following table describes attributes for the web-container-availability element.
Table 1–194 web-container-availability Attributes
Attribute |
Default |
Description |
---|---|---|
true |
(optional) If set to true, and if availability is enabled for the server instance (see availability-service), high-availability features apply to all web applications deployed to the server instance that do not have availability disabled. All instances in a cluster should have the same availability value to ensure consistent behavior. |
|
memory (availability disabled) replicated (availability enabled) |
(optional) Specifies the session persistence mechanism for web applications that have availability enabled. Allowed values are memory (no persistence), file (the file system) and replicated (other servers). If HADB is installed and you have selected the enterprise profile, you can also specify ha. For production environments that require session persistence, use ha. If set to memory, the manager-properties element’s session-file-name attribute specifies the file system location where the HTTP session state is stored if the server instance is gracefully shut down. This is useful for internal testing but is not supported for production environments. If set to file, the store-properties element’s directory attribute specifies the file system location where the HTTP session state is stored. Persisting to the file system is useful for internal testing but is not supported for production environments. |
|
web-method |
(optional) Specifies how often the session state is stored. Applicable only if the persistence-type is replicated or ha. Allowed values are as follows:
|
|
session |
(optional) Specifies how much of the session state is stored. Applicable only if the persistence-type is replicated or ha. Allowed values are as follows:
|
|
false |
(optional) If true, the single sign-on state is highly available. To enable single sign-on, use the sso-enabled property of the virtual-server element. |
|
availability-service store-pool-name attribute value |
(optional) Specifies the jndi-name of the jdbc-resource used for connections to the HADB for session persistence. Applicable if HADB is installed and you have selected the enterprise profile. For more information about setting up a connection pool and JDBC resource for the HADB, see the description of the configure-ha-cluster command in the Sun GlassFish Enterprise Server v2.1.1 Reference Manual. |
If the persistence-scope attribute is set to modified-attribute , your web application must follow these 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.
The following table describes properties for the web-container-availability element.
Table 1–195 web-container-availability Properties
Property |
Default |
Description |
---|---|---|
none |
Specifies the name of the class that generates session IDs. If this property is not specified, the Enterprise Server's internal session ID generator is used. It is the developer's responsibility to ensure that generated IDs are universally unique even when running on multiple JVMs on multiple machines in a cluster. Failure to ensure this in the algorithm results in nondeterministic behavior and likely corruption of HTTP session data. |