【问题标题】:Client Side JMS Configuration - JMS Cluster - Connets to only one server客户端 JMS 配置 - JMS 集群 - 仅连接到一台服务器
【发布时间】:2012-06-29 10:03:18
【问题描述】:

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

  • 迭代 #1

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

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

等等。

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

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

有什么想法吗?

谢谢!

【问题讨论】:

    标签: java jms weblogic cluster-computing session-cookies


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢!我会四处看看。我在想这将是客户端设置而不是服务器设置。它当前处理“服务器亲和力”的方式似乎与运行代码的客户端有关,而不是服务器......
    猜你喜欢
    • 2012-07-28
    • 2017-11-22
    • 2013-05-03
    • 2013-07-11
    • 1970-01-01
    • 2012-01-09
    • 2015-04-20
    • 2013-11-10
    • 1970-01-01
    相关资源
    最近更新 更多