0

メッセージにプロパティ名 orderno を持つキューがあります orderno でソートされたキューからメッセージを取得するにはどうすればよいですか

4

1 に答える 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 に答える