带有选择器的 Apache Camel AMQP 正在消耗任何消息

Apache Camel AMQP with selector is consuming any message

我正在尝试通过 Azure 服务总线使用者在 amqp 上使用选择器。但是,出于某种原因,该路由也在使用与选择器不匹配的消息。

这是一个例子:

此路由生成消息并附加 header:

<route id="MessageGenerator">
    <from uri="timer:generator?delay=5000&amp;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 服务总线不支持队列上的选择器。我切换到主题,每个订阅都有过滤器。