gpt4 book ai didi

java - 是否可以将节点 ID 附加到 JMS 消息?

转载 作者:行者123 更新时间:2023-12-01 14:03:43 26 4
gpt4 key购买 nike

我正在运行一个包含 2 个应用程序的集群(节点 1 和节点 2)。应用程序 A 和应用程序 B。

  1. 应用程序 A 将向 JMS 队列 Q 发送消息(这将分布在节点 1 和 2 上)。
  2. 应用程序 B 将从队列中监听、处理并将消息发送回 Q(这也将被分发)。

所以我希望应用程序 B 将消息发送到它接收的同一节点。我们如何实现这一点?

代码/配置。怎么办?

提前致谢。

最佳答案

您可以根据要将消息传递到哪个节点来设置消息的 String 属性。

        TextMessage textmsg1 = qs.createTextMessage();
textmsg1.setStringProperty("SentToNode","Node1");

(如果它将每条消息传递到两个节点,那么您可以简单地让 appB 向两个节点发送消息,这是没有意义的,因此忽略这种情况)。

现在,在正在监听此队列的接收端(您的应用程序 B),您可以检索此属性并采取适当的操作。

@Override
public void onMessage(Message message) {
try {
count++;
TextMessage msg = (TextMessage) message;
System.out.println("Message Received " + msg.getText());
System.out.println("Message received from " + msg.getStringProperty("SentToNode"));
//now you can send the message to that node

} catch (JMSException e) {
e.printStackTrace();
}
}

关于java - 是否可以将节点 ID 附加到 JMS 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19111977/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com