178.6.8. 使用 JMS 指定消费者优先级
某些代理(特别是 Artemis)允许您为您要发送的消息指定使用者优先级。在以下示例中,我们使用 artemisConsumerPriority 属性根据优先级转换消息。
<camelContext id="jms-basic-consumer-priority" xmlns="http://camel.apache.org/schema/spring" autoStartup="true">
<endpoint id="highPriorityQueue" uri="jms:queue:inputQueue?artemisConsumerPriority=1000"/>
<endpoint id="mediumPriorityQueue" uri="jms:queue:inputQueue?artemisConsumerPriority=500"/>
<endpoint id="lowPriorityQueue" uri="jms:queue:inputQueue?artemisConsumerPriority=1"/>
<endpoint id="resultQueue" uri="jms:queue:outputQueue"/>
<route>
<from uri="ref:highPriorityQueue"/>
<transform>
<simple>High</simple>
</transform>
<to uri="ref:resultQueue"/>
</route>
<route>
<from uri="ref:mediumPriorityQueue"/>
<transform>
<simple>Medium</simple>
</transform>
<to uri="ref:resultQueue"/>
</route>
<route>
<from uri="ref:lowPriorityQueue"/>
<transform>
<simple>Low</simple>
</transform>
<to uri="ref:resultQueue"/>
</route>
</camelContext>