2011-08-12 3 views
3

J'utilise Jboss MQ dans mon application. J'essaie de gérer le message redistribué à la file d'attente JMS. Y a-t-il un moyen de définir certaines valeurs dans le message d'origine reçu par le consommateur? (Première fois que j'ai reçu le message) Ainsi, chaque fois que le message est remis, je peux lire la valeur et prendre des décisions.Message JMS à la relivraison à la file d'attente

S'il vous plaît laissez-moi savoir si la question n'est pas claire, je peux essayer d'expliquer en détail.

+1

Un exemple aiderait :) –

Répondre

6

Non, JMS ne fonctionne pas de cette façon.

Vous interagissez avec les files d'attente en tant que consommateur (réception), producteur (envoie) ou navigateur (pics). Il n'y a pas d'opération pour remettre un message modifié. Si le consommateur travaille dans une transaction qui est annulée, le message semblera être "remis", mais seulement parce qu'il attendait dans la file d'attente pour la validation de la transaction.

Vous pourriez, en théorie, créer un producteur pour la même file d'attente que vous avez obtenu le message, le modifier et l'envoyer "à vous-même" (un message-drive bean?), un autre message, seulement avec des contenus similaires. Et cela arriverait à la fin de la file d'attente. Et il n'est certainement pas recommandé de le faire.

Il est préférable de conserver les données de message (au moins les parties qui vous intéressent) dans une base de données et de détecter si elles sont nouvelles ou redistribuées.

1

Le modèle d'intégration d'entreprise Content Enricher (1) (2) peut vous aider.

Questions connexes