【问题标题】:Configuring wildcard topic selectors in ActiveMQ在 ActiveMQ 中配置通配符主题选择器
【发布时间】:2020-08-10 14:23:24
【问题描述】:

基于documentation 通配符支持确实存在,但我似乎找不到任何其他信息,说明它是否应该工作,或者它是否已在服务器上配置,或者生产者或消费者是否需要配置它。

我假设作为发布者,我只会向名为 /patient/2/goal/ 的主题发送消息,当消费者订阅名为 /patient/*/goal/ 的主题时,它仍会收到消息,但没有任何显示。我错过了什么?

请注意,如果我向/patient/*/goal/ 发布消息并订阅/patient/*/goal/,那么我会收到该消息。但是,这只能确认我的消息总线正在工作,而不是通配符支持正在工作。

生产者测试:

var connectUri = new Uri("...");
var factory = new NMSConnectionFactory(connectUri);
var connection = factory.CreateConnection();
session = connection.CreateSession();
var destination = session.GetTopic("/patient/1/goal/");
producer = session.CreateProducer(destination);
...

消费者:

var topic = _session.GetTopic("/patient/*/goal/");
var consumer = _session.CreateConsumer(topic);
...

【问题讨论】:

    标签: c# activemq nms


    【解决方案1】:

    使用/作为路径分隔符需要通过插件配置。切换到. 使其按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 2011-07-19
      • 2013-09-27
      • 1970-01-01
      相关资源
      最近更新 更多