当前使用 WebLogic 和分布式队列。而且我从文档中知道分布式队列允许您使用全局 JNDI 名称检索到集群中任何队列的连接。似乎分布式队列为您提供的主要功能之一是跨多个托管服务器的负载平衡连接。所以我们有 4 个托管服务器(每个物理服务器上两个,通过多播进行通信),每个托管服务器都有一个单独的 JMS 服务器,该服务器配置为它自己的数据存储。
我有 99% 的把握我已经知道这个问题的答案,但似乎如果你想从队列中消费一条消息,并且集群中的每个 Mgd 服务器上都存在队列,那么从技术上讲,你不能关闭一条消息任何队列(您只能将消息从您连接到的队列中拉出)。因此,如果我在 Mgd Server 4 上有一条消息,并且我连接到 Mgd Server 1,我将看不到来自 Mgd Server 4 的队列中的消息。
那么在 Java EE 或 WLS 中是否有一种方法可以使用来自队列的所有节点(跨集群)的消息。就像查看每个 Mgd 服务器上的每个队列实例一样?事实并非如此,并且文档看起来似乎是不可能的,以及这个视频(大约 5 分钟):