0

次のように定義されたSpringプロジェクトにActiveMQコンシューマーがあります。

<jms:listener-container container-type="default"
    cache="consumer" destination-type="queue" connection-factory="pooledJmsConnectionFactory"
    acknowledge="auto" concurrency="1-1">
    <jms:listener destination="GIVE_A_NAME_QUEUE"
        ref="someLongWorkerConsumer" method="onMessage" />
</jms:listener-container>

すべてが正常に機能しています。キューにメッセージが表示されると、onMessageメソッドにアクセスし、キューから提供されたアイテムのデータを使用して作業が実行されます。

さて、私は長時間実行している操作を行っているので、たとえば、ジョブがX時間以上実行されている場合、操作を中止し、キュー内の次のアイテムを取得して、処理されました。

このソリューションまたは推奨されるソリューションにすぐに使用できる機能はありますか?

4

1 に答える 1

0

ActiveMQ には、そのようなジョブ処理の管理機能が組み込まれていません。JMS API の責任範囲に該当するものではありません。代わりに同期受信メソッドを使用して、独自のアプリケーションでそれを管理するか、メッセージをジョブ マネージャーに委譲することができます。

于 2013-03-18T14:00:43.170 に答える