首先:
- 我正在使用带有 3 个托管服务器和 3 个带有分布式队列和 3 个saf 代理(用于发送消息)的JMS 服务器的Weblogic 11g 。所有 JMS 服务器的持久性存储都存储在网络路径中 - 3 个文件用于 3 个服务器。
- 我需要一个应用程序将消息发送到队列(比如说
output.jms.q
),然后等待大约 20 秒从另一个队列获取消息(假设input.jms.q
) - 目前,应用程序将消息发送到其目的地,当它接收到消息时,消息将落入分布式队列中的 3 个队列之一。
在我的代码中,如果我从 Managed-Server-1 发送消息,它将尝试在 Managed-Server-1 中获取响应。(使用InitialContext()
构造函数)。这使得 66% 的消息无法访问!
我知道该Forward Delay
选项并将其设置为喜欢,2 秒。当我在开发时,它就像魅力一样!现在,当我有很多客户测试它时,感觉就像Forward Delay
没有选择正确的服务器。
当我关闭我的 2 台托管服务器时 - 它运行得非常快。但我只使用一台机器而不是 3 台。
会不会是我的设置?
每个托管服务器都有一个 JMS 服务器和一个分布式队列。我相信对于这个东西,我只需要一个队列,每个 JMS 服务器都可以连接。类似于共享队列而不是分布式的东西。
是否可以?