分布式会话可以在多个 Sun Java System Application Server 实例中运行,如果:
每个服务器实例都可以访问相同的会话状态数据。Application Server 为 HTTP 会话和有状态会话 Bean 数据提供了以下类型的高可用性存储:
群集中其他服务器上的内存中复制。对于群集配置文件,默认情况下启用内存中复制。
使用内存中复制要求启用组管理服务 (Group Management Service, GMS)。有关 GMS 的更多信息,请参见组管理服务。
如果群集中的服务器实例位于不同的计算机上,请确保满足以下先决条件:
要确保 GMS 和内存中复制正常工作,这些计算机必须在同一子网上。
要确保内存中复制正常工作,必须同步群集中所有计算机上的系统时钟使其尽可能接近。
高可用性数据库 (High-availability database, HADB)。有关如何启用此数据库的信息,请参见 configure-ha-cluster(1)。
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.xml 部署描述符文件的 web-app 元素中必须包含 distributable 元素。
Web 应用程序使用高可用性会话持久性。如果将非可分布的 Web 应用程序配置为使用高可用性会话持久性,服务器会将错误写入日志文件。
必须使用 deploy 或 deploydir 命令并且将 --availabilityenabled 选项设置为 true 来部署 Web 应用程序。有关这些命令的更多信息,请参见 deploy(1) 和 deploydir(1)。