1

activemqでメッセージを消費しようとしています。プロデューサー(私たちが制御することはできません)は、異なるメッセージをキューとトピックに入れます。コンシューマーとして、キューとトピックから同時に消費するようにクライアントを構成するにはどうすればよいですか?私が考えることができる唯一の方法は、2つの異なるコンシューマーを作成することです。一方はキューに接続され、もう一方はトピックに接続されます。このアプローチは正しいですか、それとも両方を同時に聞く1つのコンシューマーを作成するために私ができることがありますか?

ありがとうK

4

2 に答える 2

3

ActiveMQ標準ディストリビューションはApacheCamelにバンドルされています。

標準のActiveMQを実行している場合、これを行う小さなルートをCamelに追加できます。

/confフォルダー内の「camel.xml」を編集します。

2つのルートを追加します。

<route>
  <from uri="activemq:topic:someTopic"/>
  <to uri="activemq:queue:comboQueue"/>
</route>

<route>
  <from uri="activemq:queue:someQueue"/>
  <to uri="activemq:queue:comboQueue"/>
</route>

このcamel.xmlがActivemq.xmlなどのActiveMQ構成に含まれていることを確認してください。

これで、「comboQueue」から消費するだけで、すべてのメッセージを1か所で受け取ることができます。

于 2012-09-18T20:11:09.753 に答える
1

これは、ActiveMQの複合宛先機能を使用して実現できます。この機能を使用すると、複数の宛先およびさまざまなタイプの宛先でリッスンできます。

于 2012-09-19T00:02:58.373 に答える