第16章 メッセージ有効期限の設定


送信されたメッセージが指定された期間後にコンシューマーに配信されない場合に、そのメッセージがサーバーで期限切れになるように設定できます。これらの期限切れのメッセージは、さらに調査をするために後で使用できます。

コア API を使用したメッセージ有効期限の設定

コア API を使用すると、setExpiration メソッドを使用してメッセージの有効期限を設定できます。

// The message will expire 5 seconds from now
message.setExpiration(System.currentTimeMillis() + 5000);

JMS を使用したメッセージ有効期限の設定

メッセージの送信時に、JMS MessageProducer が使用する持続時間を設定できます。この値は、setTimeToLive メソッドを使用してミリ秒単位で指定します。

// Messages sent by this producer will be retained for 5 seconds before expiring
producer.setTimeToLive(5000);

プロデューサーの send メソッドで持続時間を設定すると、メッセージの有効期限をメッセージごとに指定することもできます。

// The last parameter of the send method is the time to live, in milliseconds
producer.send(message, DeliveryMode.PERSISTENT, 0, 5000)

期限切れアドレスから消費される有効期限切れのメッセージには、以下のプロパティーがあります。

  • _AMQ_ORIG_ADDRESS

    期限切れメッセージの元のアドレスが含まれる String プロパティー。

  • _AMQ_ACTUAL_EXPIRY

    期限切れのメッセージの実際の有効期間が含まれる Long プロパティー。

16.1. 期限切れアドレス

期限切れアドレスを設定して、有効期限切れのメッセージを送信する場所を指定できます。メッセージの有効期限が切れて期限切れアドレスが指定されていない場合、メッセージはキューから削除されドロップされます。

管理 CLI を使用して、address-settingexpiry-address を設定できます。以下の例では、jms.queue.exampleQueue キューの有効期限切れのメッセージが jms.queue.expiryQueue 期限切れアドレスに送信されます。

/subsystem=messaging-activemq/server=default/address-setting=jms.queue.exampleQueue:write-attribute(name=expiry-address,value=jms.queue.expiryQueue)
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.