2017-03-02 6 views
0

私はAzureサービスバスにメッセージを送信する必要のあるJavaアプリケーションで作業していますので、特定の遅延の後に次のプロセスにメッセージを送ることができます。AMQP/JMSの世界でBrokerProperty "setScheduledEnqueueTimeUtc"と同等のもの

Azure sdkを使用すると、ブローカーメッセージにsetScheduledEnqueueTimeUtc BrokerPropertyを設定することで実現できますが、AMQP/JMSの世界でこれと同等のものを見つけることができません。

Message.setPropertyをキーに使用すると、プロパティの値がアプリケーションプロパティの下に置かれ、メッセージがすぐにキューに表示されます。

この遅延を達成する方法はありますか?

答えて

0

JMS 2.0仕様では、指定された時間が経過した後にメッセージを配信できる「配信遅延」機能が定義されています。詳細はhttp://www.oracle.com/technetwork/articles/java/jms2messaging-1954190.htmlを参照してください。 JMS 2.0仕様を実装するメッセージングプロバイダが必要です。

+0

Thanks Shashi、JMS2.0にアップグレードしましたが、Azureがまだサポートしていない可能性があるという次のエラーが表示される - 'エラーメッセージ:JMS処理中に未分類の例外が発生しました。ネストされた例外はjavax.jms.JMSExceptionです:リモートは遅延メッセージ配信をサポートしていません。 – Ani

+0

あなたはJMSクライアントを2.0にアップグレードしましたが、メッセージングプロバイダはアップグレードしていないようです。配信遅延をサポートするには、JMSクライアントとメッセージングプロバイダの両方を更新する必要があります。どのメッセージング・プロバイダーを使用していますか? – Shashi

+0

spring-jms v4.3.3 with qpid-jms-client v0.20.0 – Ani

関連する問題