通过一个连接发送和使用消息

时间:2020-05-29 15:24:25

标签: activemq

有没有办法做到这一点?我的情况是:有连接“ A”,“ B”和“ C”以“主题1”的名称订阅了该主题。 “ A”向该主题发送一条消息,但没有收到。 “ B”和“ C”收到此消息。如果“ C”向主题发送一条消息,那么得到消息的是“ A”和“ B”。

1 个答案:

答案 0 :(得分:0)

在创建使用者时,为true参数传递noLocal

例如,javax.jms.MessageConsumer#createConsumer方法具有一个重载版本,该版本采用javax.jms.DestinationStringboolean。如果您为true指定boolean(即noLocal参数),则不会消耗使用同一连接发布的消息。 JavaDoc说了有关noLocal参数的内容:

noLocal自变量用于目标为主题并且会话的连接也用于将消息发布到该主题。如果noLocal设置为true,则MessageConsumer将不会接收通过其自己的连接发布到主题的消息。此参数的默认值为false。如果目的地是队列,则未指定将noLocal设置为true的效果。