带有选择器的 Apache Camel AMQP 正在消耗任何消息
Apache Camel AMQP with selector is consuming any message
我正在尝试通过 Azure 服务总线使用者在 amqp 上使用选择器。但是,出于某种原因,该路由也在使用与选择器不匹配的消息。
这是一个例子:
此路由生成消息并附加 header:
<route id="MessageGenerator">
<from uri="timer:generator?delay=5000&period=5000"/>
<setHeader headerName="INSTANCE_ID">
<simple>{{env:INSTANCE_ID}}</simple>
</setHeader>
<to uri="amqp:queue:external_queue" />
</route>
虽然这条路线应该只消耗那些包含 INSTANCE_ID 匹配 2 个可能值的路线:env:INSTANCE_ID 或 Any.
<route id="ExternalConsumer">
<from uri="amqp:queue:external_queue?selector=INSTANCE_ID IN ('{{env:INSTANCE_ID}}', 'Any')"/>
<log message="{{env:INSTANCE_ID}} consumed message with Instance ID: ${header.INSTANCE_ID}" logName="AMQP_TEST" loggingLevel="INFO"/>
</route>
但是日志显示它正在使用任何消息,无论选择器指定了哪些消息。
我是不是漏掉了什么?
谢谢!
这里的问题是 Azure 服务总线不支持队列上的选择器。我切换到主题,每个订阅都有过滤器。
我正在尝试通过 Azure 服务总线使用者在 amqp 上使用选择器。但是,出于某种原因,该路由也在使用与选择器不匹配的消息。
这是一个例子:
此路由生成消息并附加 header:
<route id="MessageGenerator">
<from uri="timer:generator?delay=5000&period=5000"/>
<setHeader headerName="INSTANCE_ID">
<simple>{{env:INSTANCE_ID}}</simple>
</setHeader>
<to uri="amqp:queue:external_queue" />
</route>
虽然这条路线应该只消耗那些包含 INSTANCE_ID 匹配 2 个可能值的路线:env:INSTANCE_ID 或 Any.
<route id="ExternalConsumer">
<from uri="amqp:queue:external_queue?selector=INSTANCE_ID IN ('{{env:INSTANCE_ID}}', 'Any')"/>
<log message="{{env:INSTANCE_ID}} consumed message with Instance ID: ${header.INSTANCE_ID}" logName="AMQP_TEST" loggingLevel="INFO"/>
</route>
但是日志显示它正在使用任何消息,无论选择器指定了哪些消息。
我是不是漏掉了什么?
谢谢!
这里的问题是 Azure 服务总线不支持队列上的选择器。我切换到主题,每个订阅都有过滤器。