1

我希望在一般主题上创建 jms 订阅者。为了避免不需要的消息,我希望在那里创建一个过滤器。问题是语法在java代码的每个地方都可用,但我找不到如何在像blueprint.xml这样的xml配置文件中做同样的事情

Java 代码

String redSelector = "color='red'";
MessageConsumer redConsumer = redSession.createConsumer(queue, redSelector);

阿帕奇骆驼路线

<route id="externalNotificationsDispatchRoute" >
  <from uri="activemq:queue:{{vqueue.name}}" />
  .. filtering part
  <to uri="log:com?level=DEBUG" />
</route>
4

1 回答 1

1

JMS 消息选择器使用selectorURI 参数指定。

蓝图:

<from uri="activemq:queue:{{vqueue.name}}?selector={{vqueue.selector}}" />

属性文件:

vqueue.selector=color%3D'red'

参考JMS组件文档(ActiveMQ组件继承JMS组件的参数)

选择器

设置 JMS 选择器,这是一个 SQL 92 谓词,用于过滤代理中的消息。您可能必须将特殊字符(如 '=')编码为 %3D。

于 2018-05-15T18:27:14.893 回答