HADB 软件随 Sun Java System Application Server 的 Application Server 独立分发提供。有关 Sun Java System Application Server 的可用分发的信息,请参见《Sun Java System Application Server 9.1 Installation Guide》中的“Distribution Types and Their Components”。HADB 功能仅在企业配置文件中可用。有关配置文件的信息,请参见《Sun Java System Application Server 9.1 管理指南》中的“用法配置文件”。
如果要使用 HADB,请通过 asadmin configure-ha-persistence 启用和配置 Web 容器可用性。有关此命令的更多信息,请参见 configure-ha-persistence(1)。
或者,使用 asadmin set 命令将配置的 availability-service.web-container-availability.availability-enabled 属性设置为 true,然后使用 configure-ha-persistence 根据需要设置属性。
如果要使用内存中复制来存储会话状态数据,必须使用 asadmin set 命令启用 Web 容器可用性和设置属性。configure-ha-persistence 命令只能与 HADB 一起使用。
例如,按如下所示使用 set 命令,其中 config1 为配置名称:
asadmin set --user admin --passwordfile password.txt --host localhost --port 4849 config1.availability-service.web-container-availability.availability-enabled="true" asadmin configure-ha-persistence --user admin --passwordfile secret.txt --type ha --frequency web-method --scope modified-session --store jdbc/hastore --property maxSessions=1000:reapIntervalSeconds=60 cluster1 |
在树组件中,选择所需配置。
单击“可用性服务”。
选择“Web 容器可用性”选项卡。
选中“可用性服务”框以启用可用性。要禁用可用性,请取消选中该框。
更改其他设置,如下一节可用性设置所述。
重新启动服务器实例。
HADB 软件随 Sun Java System Application Server 的 Application Server 独立分发提供。有关 Sun Java System Application Server 的可用分发的信息,请参见《Sun Java System Application Server 9.1 Installation Guide》中的“Distribution Types and Their Components”。HADB 功能仅在企业配置文件中可用。有关配置文件的信息,请参见《Sun Java System Application Server 9.1 管理指南》中的“用法配置文件”。
通过“可用性服务”的“Web 容器可用性”选项卡,您可以更改这些可用性设置:
持久性类型:指定已启用可用性的 Web 应用程序的会话持久性机制。允许的值有 memory(无持久性)、file(文件系统)、replicated(其他服务器上的内存)和 ha (HADB)。
在使用 ha 会话持久性之前,必须先配置和启用 HADB。有关配置的详细信息,请参见 configure-ha-cluster(1)。
如果已启用 Web 容器可用性,则默认的持久性类型取决于配置文件,如下表所示。
配置文件 |
持久性类型 |
---|---|
开发者 |
memory |
群集 |
replicated |
企业 |
ha |
对于需要会话持久性的生产环境,请使用 ha 或 replicated。memory 持久性类型和 file 持久性类型不提供高可用性会话持久性。
如果已禁用 Web 容器可用性,则默认的持久性类型是 memory。
持久性频率:指定存储会话状态的频率。仅当持久性类型为 ha 或 replicated 时适用。允许的值包括:
web-method-将响应发送回客户机之前,将在每个 Web 请求结束时存储会话状态。此模式为发生故障时完全更新会话状态提供了最好的保证。这是默认选项。
time-based-在后台按照 reapIntervalSeconds 存储属性设置的频率存储会话状态。此模式不能保证完全更新会话状态。但是,它可以提供很大的性能改善,因为在每个请求之后都不存储状态。
持久性范围:指定会话对象的数目和存储会话状态的频率。仅当持久性类型为 ha 或 replicated 时适用。允许的值包括:
session-每次都存储整个会话状态。此模式为正确存储任何可分发 Web 应用程序的会话数据提供了最好的保证。这是默认选项。
modified-session-如果会话状态已被修改,则存储整个会话状态。如果调用了 HttpSession.setAttribute() 或 HttpSession.removeAttribute(),则系统将认为会话已被修改。您必须保证每次更改属性时都调用 setAttribute()。这不是 Java EE 规范的要求,但是此模式需要这样做才能正常工作。
modified-attribute-仅存储修改后的会话属性。要使此模式正常工作,您必须遵循一些指导原则:
每次修改会话状态时都调用 setAttribute()。
确保各属性之间没有交叉引用。系统将对每个不同的属性关键字的对象图形单独进行序列化并单独存储。如果每个单独的关键字下的对象之间有对象交叉引用,则它们将不会被正确序列化和反序列化。
在多个属性之间分布会话状态,或者至少在只读属性和可修改属性之间分布会话状态。
单点登录状态:选中此框以启用单点登录状态的持久性。要禁用可用性,请取消选中该框。有关更多信息,请参见结合使用会话故障转移和单点登录。
HTTP 会话存储:如果更改了用于连接 HADB 的 JDBC 资源以获得会话持久性,您可以更改 HTTP 会话存储。有关详细信息,请参见 configure-ha-cluster(1)。