同步的集群JMS应用程序(Weblogic)

时间:2012-08-18 14:48:09

标签: java jms weblogic cluster-computing

首先:

  1. 我正在使用 Weblogic 11g 与3 托管服务器和3 JMS服务器分布式队列和3 安全代理(用于发送消息)。所有JMS服务器的持久存储都存储在网络路径中 - 3个服务器的3个文件。
  2. 我需要一个将消息发送到队列的应用程序(比如说output.jms.q),然后等待大约20秒钟从另一个队列中获取消息(假设为input.jms.q
  3. 目前,应用程序将消息发送到目的地,当接收到消息时,消息将落到分布式队列中的3个队列之一。
  4. 在我的代码中,如果我从Managed-Server-1发送消息,它将尝试在Managed-Server-1中获取响应。 (使用InitialContext()构造函数)。这使得66%的消息无法访问!

    我知道Forward Delay选项,我把它设置为2秒钟。当我在开发中时,它就像魅力一样!现在,当我有很多客户测试它时,感觉Forward Delay没有选择合适的服务器。

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

    这可能是我的设置吗?

    对于每个受管服务器,都有一个JMS服务器和一个分布式队列。我相信,对于这个问题,我只需要一个队列,每个JMS服务器都可以连接到该队列。像共享队列而不是分布式队列。

    有可能吗?

1 个答案:

答案 0 :(得分:0)

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