具有选择器的Apache Camel AMQP正在使用任何消息

ddrv8njm  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(185)

我正在尝试在具有Azure Service Bus使用者的amqp上使用选择器。但是,由于某种原因,路由也在使用与选择器不匹配的消息。
下面是一个例子:
此路由生成消息并附加标头:

<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的路由,但INSTANCE_ID匹配2个可能的值:环境:示例标识或任何.

<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>

但是日志显示它正在使用任何消息,而不管选择器指定了哪些消息。
我错过了什么吗?
谢谢你!

l7mqbcuq

l7mqbcuq1#

这里的问题是Azure服务总线不支持队列上的选择器。我切换到主题,每个订阅都已经有筛选器。

相关问题