メッセージにプロパティ名 orderno を持つキューがあります orderno でソートされたキューからメッセージを取得するにはどうすればよいですか
質問する
1417 次
1 に答える
2
あなたが本当にやりたいことは、リシーケンサーのエンタープライズ統合パターンです
これは、ActiveMQ にバンドルされている Apache Camel を使用して実現できます。
必要なことは、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>
次に、activemq.xml などのファイルが ActiveMQ 構成内に含まれていることを確認してください。
<import resource="camel.xml"/>
この設定では、「順序付けされていない」キューから任意の順序でメッセージが読み取られますが、アプリケーションは「順序付けられた」キューから並べ替えられたメッセージを読み取る必要があることに注意してください。
于 2012-10-11T09:41:41.060 に答える