18.12.2. メッセージ送信に重複メッセージ検出を使用する


送信メッセージに対して複製メッセージの検出を有効にするには、メッセージで特別なプロパティーを一意の値に設定する必要があります。この値は必要に応じて作成できますが、この値は一意でなければなりません。
ターゲットサーバーがこのメッセージを受信すると、特別なプロパティーが設定されているかどうかを確認します。プロパティーが設定されている場合、ターゲットサーバーはヘッダーのその値で受信したメッセージのメモリーキャッシュをチェックします。サーバーがヘッダーと同じ値を持つメッセージを見つけると、クライアントが送信したメッセージを無視します。
トランザクションでメッセージを送信する場合、そのトランザクションで送信するすべてのメッセージにプロパティーを設定する必要はありません。トランザクションで一度だけ設定する必要があります。サーバーがトランザクションのメッセージの重複メッセージを検出すると、トランザクション全体を無視します。
設定するプロパティーの名前は、org.hornetq.api.core.HDR_DUPLICATE_DETECTION_ID の値によって指定されます( _HQ_DUPL_ID )。このプロパティーの値は、コア API の byte[] または SimpleString 型です。Java Messaging Service(JMS)クライアントの場合、一意の値を持つ String タイプである必要があります。一意の ID を簡単に生成する方法は、UUID を生成することです。
下例はコア API のプロパティーを設定する方法を示しています。
...     

ClientMessage message = session.createMessage(true);

SimpleString myUniqueID = "This is my unique id";   // Can use a UUID for this

message.setStringProperty(HDR_DUPLICATE_DETECTION_ID, myUniqueID);

...
Copy to clipboard
下例は JMS クライアントのプロパティーを設定する方法を示しています。
...     

Message jmsMessage = session.createMessage();

String myUniqueID = "This is my unique id";   // Could use a UUID for this

message.setStringProperty(HDR_DUPLICATE_DETECTION_ID.toString(), myUniqueID);

...
Copy to clipboard
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.