2017-08-24 13 views
2

アルテミスremovedの新しいバージョンであるクラスJMSQueueControlとそれに関連するすべてのクラス。Apache Artemis:JMSメッセージを別のキューに移動する方法

このプロジェクトでは、JMS APIを使用して送受信の送受信を行い、管理しています。 JMSメッセージID(あるGU3タイプのString)によってメッセージをあるキューから別のキューに移動するなど、キューを管理する必要があります。

Artemis 2.2.0の新しいバージョンはQueueControl#moveMessage(long)です。これは明らかに内部メッセージID(JMSメッセージIDではなく)で動作します。

質問:Artemisバージョン2.XのJMSメッセージIDを使用してメッセージをあるキューから別のキューに移動する方法はありますか。

org.apache.activemq.artemis.api.core.management.QueueControl#moveMessages(java.lang.String, java.lang.String)

それは最初のパラメータとして「フィルタ」を取ります。

答えて

2

あなたが管理方法を使用することができます。 < JMSMessageIDを>は、移動したいJMSメッセージのメッセージIDです

AMQUserID='<jmsMessageId>'

:あなたは、フィルタを使用することができます。これは最初のところでJMSQueueControlの後ろで何をしたのですか。

+0

これは意味があります、私は後で試してみましょう。 – ipolevoy

+0

あなたの答えを正しいものとしてアップしました。なぜJMSQueueControlを引き出す決定が下されたのか?これにより、バージョン2.2.0へのアップグレードが非常に苦労しました(ジャーナルフォーマットも変更されました!) – ipolevoy

+0

また、現在動作していますが、ユーザーIDがメッセージIDではないので、本当に奇妙に見えます:) – ipolevoy

関連する問題