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>