0

因此,我编写了一个程序来连接到 VIP 后面的集群 WebLogic 服务器,该服务器有 4 个服务器和 4 个队列,它们都已连接(我认为他们称它们为分布式......)当我从本地机器运行程序并获取 JMS 连接时,查找消息并断开连接,效果很好。我的意思是:

  • 迭代 #1

    • 连接到服务器 1。
    • 找消息
    • 断开连接
  • 迭代 #2

    • 连接到服务器 2。
    • 找消息
    • 断开连接

等等。

但是,当我在服务器上运行它时,应用程序会选择一个服务器并坚持使用它。它永远不会选择新服务器,因此其他服务器上的队列永远不会工作。就像“粘性会话”设置一样...我的操作系统是 Win7,服务器操作系统是 Win2008r2 两台机器的 JDK 是相同的。如何配置客户端?服务器实现使用“Apache Procrun”将其作为服务运行。但我还没有看到这部分有太多问题......

是否有会话 cookie 被写入某处?

有任何想法吗?

谢谢!

4

1 回答 1

1

尝试在 JMS Connection factory 上禁用“Server Affinity”。如果您使用的是默认连接工厂,请定义您自己的禁用服务器关联。

编辑: 服务器亲和性是服务器端设置,但它控制在 WebLogic JMS 服务器接收到消息后如何将消息路由到消费者。另一种选择是使用循环 DNS 并仅发送到一个解析为不同 IP(托管服务器)的主机名,以便每个连接都转到不同的服务器。

我很确定这是您正在寻找的设置:)

于 2012-06-27T21:58:08.387 回答