To enable availability or override availability settings for an individual web application, use settings in the sun-web.xml
file. For details, see the Developer’s Guide.
To enable or disable web container availability using the Administration Console:
memory
(no persistence) file
(the file system) and ha
(the HADB). If availability is enabled, the default is ha
. If availability is disabled, the default is memory
. For production environments that require session persistence, use ha
.
If the Persistence Type is set to memory
, you can use the sessionFilename
property to specify a 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 the Persistence Type is set to file
, you can use the directory property to specify 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.
ha
. Allowed values are as follows: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
property. This mode provides less of a guarantee that the session state is fully updated. However, it can provide a significant performance improvement because the state is not stored after each request. To set a property, see Step 2.ha
. 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 J2EE 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 you modify the session state.
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.
configure-ha-cluster
command in the Reference Manual or the Quick Start Guide.