您可以在 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 管理指南》中的“用法配置文件”。