Sun Java System Application Server 9.1 高可用性管理指南

连接池和故障转移

Application Server 支持 JMS 连接池和故障转移。Sun Java System Application Server 将自动实现 JMS 连接池。“地址列表行为”属性为 random(默认值)时,Application Server 将从 JMS 主机列表中随机选择其主代理。发生故障转移时,MQ 会将负载透明地转移到另一个代理,并维持 JMS 语义。如果 JMS 类型为 LOCAL,“地址列表行为”属性的默认值将为 priority

要指定连接丢失时 Application Server 是否尝试重新连接到主代理,请选中“重新连接”复选框。如果已启用,则当主代理出现故障时,Application Server 将尝试重新连接到 JMS 主机列表中的另一个代理。

启用“重新连接”时,也同时指定以下属性:

您可以使用 JMS 连接工厂设置覆盖这些设置。有关详细信息,请参见《Sun Java System Application Server 9.1 管理指南》中的“JMS 连接工厂”

负载平衡的消息流入

您可以在 sun-ejb-jar.xml 文件中使用 activation-config-property 元素为消息驱动 Bean 配置 jmsra 资源适配器的 ActivationSpec 属性。每当部署消息驱动 Bean (EndPointFactory) 后,连接器运行时引擎都会在资源适配器中查找这些属性并相应地对其进行配置。请参见《Sun Java System Application Server 9.1 Application Deployment Guide》中的“activation-config-property”

Application Server 透明地允许将消息随机传送到具有相同 ClientID 的消息驱动 Bean。持久订阅者需要 ClientID

对于没有配置 ClientID 的非持久订阅者,特定的消息驱动 Bean 中订阅同一主题的所有实例均认为是等效的。将消息驱动 Bean 部署到 Application Server 的多个实例时,只有其中的一个消息驱动 Bean 接收消息。如果多个不同的消息驱动 Bean 订阅同一主题,每个消息驱动 Bean 的一个实例将接收消息副本。

要使用同一队列支持多个使用者,请将物理目的地的 maxNumActiveConsumers 属性设置为较大值。如果设置了此属性,Sun Java System Message Queue 软件将允许最多该数目的消息驱动 Bean 使用同一队列中的消息。消息将随机传送到各个消息驱动 Bean。如果将 maxNumActiveConsumers 设置为 -1,将不限制使用者的数目。

要确保首选本地传送,请将 addresslist-behavior 设置为 priority。此设置指定首先选择 AddressList 中的第一个代理。此第一个代理是本地共存的 Message Queue 实例。如果此代理不可用,将按代理在 AddressList 中的列出顺序进行连接尝试。此设置是属于群集的 Application Server 实例的默认设置。


注 –

群集功能在开发者配置文件中不可用。有关配置文件的信息,请参见《Sun Java System Application Server 9.1 管理指南》中的“用法配置文件”


JMS 服务高可用性

JMS 组件有两种级别的可用性:

可以在包含 Java 消息服务 (Java Message Service, JMS) 的 Sun Java System Message Queue 群集中启用数据可用性。消息将持久保存到公共持久性存储, 而且从群集中的所有其他代理实例可用,或者从高可用性数据库 (high-availability database, HADB) 可用(如果安装了该数据库并选择了企业配置文件)。有关配置文件的信息,请参见《Sun Java System Application Server 9.1 管理指南》中的“用法配置文件”。必须先对 Application Server 实例启用可用性,才能对相应的代理启用数据可用性。


注 –

单个应用程序和模块无法控制或覆盖 JMS 可用性。


要启用数据可用性,请在 管理控制台 中的相关配置下选择“可用性服务”组件。选中“可用性服务”框。要对 JMS 服务启用可用性,请选择“JMS 可用性”选项卡,然后选中“可用性服务”框。Application Server 群集中的所有实例都应该具有相同的实例可用性和 JMS 可用性设置,以确保一致的行为。有关详细信息,请参见《Sun Java System Application Server 9.1 高可用性管理指南》


注 –

群集功能在开发者配置文件中不可用。有关配置文件的信息,请参见《Sun Java System Application Server 9.1 管理指南》中的“用法配置文件”