18.10.2. Utiliser la détection des messages en double pour l'envoi des messages


Pour activer la détection des messages en double des messages envoyés, vous devrez définir une propriété spéciale sur le message à une valeur unique. Vous pourrez créer la valeur comme vous le souhaitez, mais cette valeur doit être unique.
Lorsque le serveur cible reçoit ce message, il vérifie si la propriété spéciale est définie. Si la propriété est définie, alors le serveur cible vérifiera son cache de mémoire pour vérifier la présence d'un message reçu avec cette valeur d'en-tête. Si le serveur détecte un message de cette valeur d'en-tête, il ignorera le message envoyé par un client.
Si vous envoyez des messages dans une transaction, alors vous n'aurez pas à définir la propriété pour chaque message que vous envoyez dans cette transaction. Il suffira de le mettre une fois pour toute dans la transaction. Si le serveur détecte un message dupliqué pour chaque message de la transaction, il ignorera l'ensemble de la transaction.
Le nom de la propriété que vous avez définie est donné par la valeur du org.hornetq.api.core.HDR_DUPLICATE_DETECTION_ID, qui est _HQ_DUPL_ID. La valeur de cette propriété peut être de type byte[] ou SimpleString pour l'API core. Pour les clients JMS (Java Messaging Service), il doit être de type String avec une valeur unique. Une simple façon de créer un id unique consiste à créer un UUID.
L'exemple suivant vous montre comment définir la propriété pour l'API core :
...     

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);

...
L'exemple suivant vous montre comment définir la propriété pour les clients 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);

...
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat, Inc.