1

首先:

  1. 我正在使用带有 3 个托管服务器和 3 个带有分布式队列和 3 个saf 代理(用于发送消息)的JMS 服务器的Weblogic 11g 。所有 JMS 服务器的持久性存储都存储在网络路径中 - 3 个文件用于 3 个服务器。
  2. 我需要一个应用程序将消息发送到队列(比如说output.jms.q),然后等待大约 20 秒从另一个队列获取消息(假设input.jms.q
  3. 目前,应用程序将消息发送到其目的地,当它接收到消息时,消息将落入分布式队列中的 3 个队列之一。

在我的代码中,如果我从 Managed-Server-1 发送消息,它将尝试在 Managed-Server-1 中获取响应。(使用InitialContext()构造函数)。这使得 66% 的消息无法访问!

我知道该Forward Delay选项并将其设置为喜欢,2 秒。当我在开发时,它就像魅力一样!现在,当我有很多客户测试它时,感觉就像Forward Delay没有选择正确的服务器。

当我关闭我的 2 台托管服务器时 - 它运行得非常快。但我只使用一台机器而不是 3 台。

会不会是我的设置?

每个托管服务器都有一个 JMS 服务器和一个分布式队列。我相信对于这个东西,我只需要一个队列,每个 JMS 服务器都可以连接。类似于共享队列而不是分布式的东西。

是否可以?

4

1 回答 1

0

我的问题的解决方案是使用分布式主题。Weblogic 10.3.5+ 支持在服务器之间复制消息。是的,它很蹩脚..但这就是我发现的。

于 2014-09-11T18:19:59.297 回答