Enables availability in the SIP container, including replicated session persistence. This element is not implemented; the persistence-type is memory.
If availability is disabled, there is no high availability for session persistence. 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 availability is enabled but no other sip-container-availability attributes are specified, the default session persistence configuration is as follows:
persistence-type=replicated persistence-frequency=sip-transaction persistence-scope=session
The default configuration for all applications can be changed by setting the various sip-container-availability attributes and properties.
You can override the various sip-container-availability attributes and properties for a specific application in sun-web.xml or sun-sip.xml. For details, see the Sun GlassFish Communications Server 1.5 Developer’s Guide.
For additional replicated session persistence properties you can set, see availability-service.
The following table describes subelements for the sip-container-availability element.
Table 1–189 sip-container-availability Subelements
Element |
Required |
Description |
---|---|---|
zero or more |
Specifies a property or a variable. |
The following table describes attributes for the sip-container-availability element.
Table 1–190 sip-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 SIP extension modules 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 SIP extension modules that have availability enabled. Allowed values are memory (no persistence) and replicated (other servers). If set to memory, the manager-properties element’s session-file-name attribute specifies the file system location where the 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. |
|
sip-transaction |
(optional) Specifies how often the session state is stored. The default, sip-transaction, is the only allowed value. The session state is stored at the end of each request prior to sending a response back to the client. This provides the best guarantee that the session state is fully updated in case of failure. |
|
session |
(optional) Specifies how much of the session state is stored. Allowed values are as follows:
|
|
true |
(optional) Deprecated. If true, specifies that a forward and reverse repair should be performed on an instance that has joined or rejoined the cluster. |
If the persistence-scope attribute is set to modified-attribute , your SIP extension module 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 sip-container-availability element.
Table 1–191 sip-container-availability Properties
Property |
Default |
Description |
---|---|---|
none |
Specifies the name of the class that generates session IDs. If this property is not specified, the Communications 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 session data. |