配置请求方以同时使用来自所有队列点的消息
缺省情况下,在消息使用者的生存期内,JMS 消息使用者仅使用来自一个队列点的消息。因此,如果应答队列有多个队列点,那么除非应答消息的范围被限制为一个特定队列点,否则使用者可能不会使用来自应答发送至的队列点的消息,并且可能不会接收应答消息。
但是,可配置消息使用者使用的 JMS 队列以允许消息使用者可以同时使用来自已标识服务集成总线队列的所有队列点的消息,而不管请求应用程序连接至哪个消息传递引擎。
此项的 JMS 队列选项为消息可视性。如果启用消息可视性(消息收集),那么不必限制应答消息的位置,原因是不管请求应用程序连接至哪个消息传递引擎,应答消息都可视(请参阅“相关任务”以了解更多详细信息)。
在下图中,使用应用程序连接至已启用消息可视性、但是没有本地队列点的消息传递引擎。相关联的队列点使用来自目标的所有可用队列点的消息,并且使它们对使用者可用。
图 1. 消息可视性:使用来自所有队列点的消息

优点:
- 易于配置。
- 可在总线成员中的消息传递引擎间动态均衡请求应用程序的工作负载。
- 请求的应用程序可断开连接然后再重新连接至不同消息传递引擎(即使是拥有应答队列的总线成员外部的消息传递引擎)而不会有找不到应答消息的风险。
缺点:
- 从多个队列点收集消息是消耗大量性能的操作,即使消息在本地队列点上也是如此。如果要执行足够的消息收集,那么启用消息可视性可能会降低消息传递系统的整体性能。
- 启用消息可视性时监视收集使用应用程序非常复杂,原因是可将消息指定给延长时间段的收集使用者。