要使用 asadmin 启用和配置 Web 容器的可用性,请参见 configure-ha-persistence(1)。
或者,使用 asadmin set 命令将配置的 availability-service.web-container-availability.availability-enabled 属性设置为 true,然后使用 configure-ha-persistence 根据需要设置属性。
例如,按如下所示使用 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 容器可用性”选项卡。
选中“可用性服务”框以启用可用性。要禁用可用性,请取消选中该框。
更改其他设置,如下一节可用性设置所述。
重新启动服务器实例。
通过“可用性服务”的“Web 容器可用性”选项卡,您可以更改这些可用性设置:
持久性类型:指定已启用可用性的 Web 应用程序的会话持久性机制。允许的值包括 memory(无持久性)、file(文件系统)和 ha (HADB)。
在使用 ha 会话持久性之前,必须先配置和启用 HADB。有关详细配置信息,请参见 configure-ha-cluster(1)。
如果启用了 Web 容器可用性,则默认值为 ha。否则,默认值为 memory。对于需要会话持久性的生产环境,请使用 ha。前两种类型(memory 和 file 持久性)不提供高可用性会话持久性。
持久性频率:指定存储会话状态的频率。仅当持久性类型为 ha 时适用。允许的值包括:
web-method-将响应发送回客户机之前,将在每个 Web 请求结束时存储会话状态。此模式为发生故障时完全更新会话状态提供了最好的保证。这是默认选项。
time-based-在后台按照 reapIntervalSeconds 存储属性设置的频率存储会话状态。此模式不能保证完全更新会话状态。但是,它可以提供很大的性能改善,因为在每个请求之后都不存储状态。
持久性范围:指定会话对象的数目和存储会话状态的频率。仅当持久性类型为 ha 时适用。允许的值包括:
session-每次都存储整个会话状态。此模式为正确存储任何可分发 Web 应用程序的会话数据提供了最好的保证。这是默认选项。
modified-session-如果会话状态已被修改,则存储整个会话状态。如果调用了 HttpSession.setAttribute() 或 HttpSession.removeAttribute(),则系统将认为会话状态已被修改。您必须保证每次更改属性时都调用 setAttribute()。这不是 J2EE 规范的要求,但是此模式需要这样做才能正常工作。
modified-attribute-仅存储修改后的会话属性。要使此模式正常工作,您必须遵循一些指导原则:
每次修改会话状态时都调用 setAttribute()。
确保各属性之间没有交叉引用。系统将对每个不同的属性关键字的对象图形单独进行序列化并单独存储。如果每个单独的关键字下的对象之间有对象交叉引用,则它们将不会被正确序列化和反序列化。
在多个属性之间分布会话状态,或者至少在只读属性和可修改属性之间分布会话状态。
单点登录状态:选中此框以启用单点登录状态的持久性。要禁用可用性,请取消选中该框。有关更多信息,请参见结合使用会话故障转移和单点登录。
HTTP 会话存储:如果更改了用于连接 HADB 的 JDBC 资源以获得会话持久性,您可以更改 HTTP 会话存储。有关详细信息,请参见 configure-ha-cluster(1)。