Jms activemq如何以特殊顺序从队列中获取消息
我有一个队列,消息的属性名为ordernoJms activemq如何以特殊顺序从队列中获取消息,jms,activemq,Jms,Activemq,我有一个队列,消息的属性名为orderno 如何从按顺序排序的队列中提取消息no您真正想做的是 您可以使用与ActiveMQ捆绑在一起的ApacheCamel实现这一点 <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="activemq:queue:unordered"/> <resequence>
如何从按顺序排序的队列中提取消息no您真正想做的是 您可以使用与ActiveMQ捆绑在一起的ApacheCamel实现这一点
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="activemq:queue:unordered"/>
<resequence>
<simple>in.header.orderno</simple>
<to uri="activemq:queue:ordered" />
<stream-config capacity="5000" timeout="4000"/>
</resequence>
</route>
</camelContext>
您需要做的是将以下内容添加到ActiveMQ中的“camel.xml”配置文件中
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="activemq:queue:unordered"/>
<resequence>
<simple>in.header.orderno</simple>
<to uri="activemq:queue:ordered" />
<stream-config capacity="5000" timeout="4000"/>
</resequence>
</route>
</camelContext>
in.header.orderno
然后只需确保该文件包含在ActiveMQ配置中,例如ActiveMQ.xml:
<import resource="camel.xml"/>
请注意,此设置将从“无序”队列中以任意顺序读取消息,而应用程序应从“有序”队列中读取重新排序的消息