Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性管理指南

设置高可用性会话持久性

本节介绍了如何设置高可用性会话持久性,其中包括以下主题:

Procedure设置高可用性会话持久性

开始之前

高可用性会话持久性与动态部署、动态重新装入和自动部署不兼容。这些功能适用于开发环境而不适用于生产环境,因此您必须在启用 HA 会话持久性之前禁用它们。有关如何禁用这些功能的信息,请参见《Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理指南》中的第 2  章 “部署应用程序”

  1. 创建 Application Server 群集。

    有关更多信息,请参见创建群集

  2. 为群集创建 HADB 数据库。

    有关更多信息,请参见 configure-ha-cluster(1)

  3. 为群集设置 HTTP 负载平衡。

    有关更多信息,请参见设置 HTTP 负载平衡

  4. 启用所需的应用程序服务器实例和 Web 或 EJB 容器的可用性。

    然后配置会话持久性设置。选择以下方法之一:

  5. 重新启动群集中的每个服务器实例。

    如果实例当前正在处理请求,请在重新启动该实例前停止它,这样,它就有足够的时间来处理它正在处理的请求。有关更多信息,请参见禁用(停止)服务器实例或群集

  6. 启用所有特定 SFSB 所必需的可用性。

    选择需要进行会话状态检查点操作的方法。请参见为单个 Bean 配置可用性

  7. 如果要使每个 Web 模块具有高可用性,请使这些模块可分布。

  8. 部署期间启用各个应用程序、Web 模块或 EJB 模块的可用性。

    请参见为单个应用程序或 EJB 模块配置可用性

    在管理控制台中,选取“启用高可用性”框,或结合使用 asadmin deploy 命令和设置为 true--availabilityenabled 选项。

启用会话可用性

您可以启用五个不同范围(从最高到最低)的会话可用性:

  1. 服务器实例,默认情况下已启用。有关说明,请参见下一节启用服务器实例的可用性

  2. 容器(Web 或 EJB),默认情况下已启用。有关启用容器级别的可用性的信息,请参见:

  3. 应用程序,默认情况下已禁用

  4. 独立的 Web 或 EJB 模块,默认情况下已禁用

  5. 单个 SFSB,默认情况下已禁用

要启用指定范围内的可用性,您必须同时启用所有更高级别的可用性。例如,要启用应用程序级别的可用性,必须在服务器实例级别和容器级别启用可用性。

给定级别的默认值是其上一级别的设置值。例如,如果已启用容器级别的可用性,则默认情况下,启用应用程序级别的可用性。

如果禁用了服务器实例级别的可用性,则启用其他任何级别的可用性都不生效。如果启用了服务器实例级别的可用性,则将启用所有级别的可用性,除非已明确禁用。

启用服务器实例的可用性

要启用服务器实例的可用性,请使用 asadmin set 命令将配置的 availability-service.availability-enabled 属性设置为 true。

例如,如果 config1 为配置名称:


asadmin set --user admin --passwordfile password.txt 
--host localhost 
--port 4849 
config1.availability-service.availability-enabled="true"

Procedure使用管理控制台启用服务器实例的可用性

  1. 在树组件中,展开“配置”节点。

  2. 展开要编辑的配置的节点。

  3. 选择“可用性服务”节点。

  4. 在“可用性服务”页面中,选中“可用性服务”框以启用实例级别的可用性。

    要禁用可用性,请取消选中该框。

    此外,如果更改了用于连接 HADB 的 JDBC 资源以获得会话持久性,您还可以更改存储池名称。有关详细信息,请参见 configure-ha-cluster(1)

  5. 单击“保存”按钮。

  6. 停止并重新启用服务器实例。