本节介绍了如何设置高可用性会话持久性,其中包括以下主题:
高可用性会话持久性与动态部署、动态重新装入和自动部署不兼容。这些功能适用于开发环境而不适用于生产环境,因此您必须在启用 HA 会话持久性之前禁用它们。有关如何禁用这些功能的信息,请参见《Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理指南》中的第 2 章 “部署应用程序”。
创建 Application Server 群集。
有关更多信息,请参见创建群集。
为群集创建 HADB 数据库。
有关更多信息,请参见 configure-ha-cluster(1)。
为群集设置 HTTP 负载平衡。
有关更多信息,请参见设置 HTTP 负载平衡。
启用所需的应用程序服务器实例和 Web 或 EJB 容器的可用性。
然后配置会话持久性设置。选择以下方法之一:
使用管理控制台。请参见启用服务器实例的可用性。
使用 asadmin 命令行实用程序。请参见 set(1) 和 configure-ha-persistence(1)。
重新启动群集中的每个服务器实例。
如果实例当前正在处理请求,请在重新启动该实例前停止它,这样,它就有足够的时间来处理它正在处理的请求。有关更多信息,请参见禁用(停止)服务器实例或群集。
启用所有特定 SFSB 所必需的可用性。
选择需要进行会话状态检查点操作的方法。请参见为单个 Bean 配置可用性。
在部署期间启用各个应用程序、Web 模块或 EJB 模块的可用性。
在管理控制台中,选取“启用高可用性”框,或结合使用 asadmin deploy 命令和设置为 true 的 --availabilityenabled 选项。
服务器实例,默认情况下已启用。有关说明,请参见下一节启用服务器实例的可用性。
容器(Web 或 EJB),默认情况下已启用。有关启用容器级别的可用性的信息,请参见:
应用程序,默认情况下已禁用
独立的 Web 或 EJB 模块,默认情况下已禁用
单个 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" |
在树组件中,展开“配置”节点。
展开要编辑的配置的节点。
选择“可用性服务”节点。
在“可用性服务”页面中,选中“可用性服务”框以启用实例级别的可用性。
要禁用可用性,请取消选中该框。
此外,如果更改了用于连接 HADB 的 JDBC 资源以获得会话持久性,您还可以更改存储池名称。有关详细信息,请参见 configure-ha-cluster(1)。
单击“保存”按钮。
停止并重新启用服务器实例。