This section explains how to set up high availability session persistence, with the following topics:
High availability session persistence is incompatible with dynamic deployment, dynamic reloading, and auto-deployment. These features are for development, not production environments, so you must disable them before enabling HA session persistence. For information about how to disable these features, see Chapter 2, Deploying Applications, in Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Administration Guide.
Create an Application Server cluster.
For more information, see To Create a Cluster .
Create an HADB database for the cluster.
For more information , see configure-ha-cluster(1).
Set up HTTP load balancing for the cluster.
For more information , see Setting Up HTTP Load Balancing
Enable availability for the desired application server instances and web or EJB containers.
Then configure the session persistence settings. Choose one of these approaches:
Use Admin Console. See Enabling Availability for a Server Instance.
Use the asadmin command-line utility. See set(1) and configure-ha-persistence(1).
Restart each server instance in the cluster.
If the instance is currently serving requests, quiesce the instance before restarting it so that the instance gets enough time to serve the requests it is handling. For more information, see Disabling (Quiescing) a Server Instance or Cluster
Enable availability for any specific SFSB that requires it.
Select methods for which checkpointing the session state is necessary. See Configuring Availability for an Individual Bean
Make each web module distributable if you want it to be highly available.
Enable availability for individual applications, web modules, or EJB modules during deployment.
See Configuring Availability for an Individual Application or EJB Module
In the Administration Console, check the Availability Enabled box, or use the asadmin deploy command with the --availabilityenabled option set to true.
You can enable session availability at five different scopes (from highest to lowest):
Server instance, enabled by default. For instructions, see next section, Enabling Availability for a Server Instance .
Container (web or EJB), enabled by default. For information on enabling availability at the container level, see:
Application, disabled by default
Stand-alone web or EJB module, disabled by default
Individual SFSB, disabled by default
To enable availability at a given scope, you must enable it at all higher levels as well. For example, to enable availability at the application level, you must also enable it at the server instance and container levels.
The default for a given level is the setting at the next level up. For example, if availability is enabled at the container level, it is enabled by default at the application level.
When availability is disabled at the server instance level, enabling it at any other level has no effect. When availability is enabled at the server instance level, it is enabled at all levels unless explicitly disabled.
To enable availability for a server instance, use the asadmin set command to set the configuration’s availability-service.availability-enabled property to true.
For example, if config1 is the configuration name:
asadmin set --user admin --passwordfile password.txt --host localhost --port 4849 config1.availability-service.availability-enabled="true" |
In the tree component, expand the Configurations node.
Expand the node for the configuration you want to edit.
Select the Availability Service node.
In the Availability Service page, enable instance level availability by checking the Availability Service box.
To disable it, uncheck the box.
Additionally, you can change the Store Pool Name if you changed the JDBC resource used for connections to the HADB for session persistence. For details, see configure-ha-cluster(1).
Click on the Save button.
Stop and restart the server instance.