:salut:
Voil� j'utilise JMS avec l'impl�mentation d'Apache : ActiveMQ.
Pour mon application d'entreprise; je souhaite mettre en place un principe de requete/r�ponse entre deux classes .
Le principe est simple :
une classe requester envoie un message JMS vers une queue de destination puis reste en �coute sur une autre queue de r�ponse en mode synchrone (bloqu�e jusqu'� r�ception de la r�ponse )
une classe replier est en �coute sur la queue de requete et � chaque message arriv� elle renvoie une r�ponse sur la queue de r�ponse..
Le requester reconnait que la r�ponse re�ue le concerne en utilisant l'attribut correlationID de l'objet Message.
Plus de d�tail sur ce site : http://www.enterpriseintegrationpatt...msExample.html
Le probl�me c'est que je souhaite que le requester lise tous les messages l'un apr�s l'autre et ne sorte de la queue que le message qui le concerne. Pour cela, la seule chose que j'ai trouv� c'est de jouer sur l'attribut acknowledge mode de la session mais j'ai encore un soucis :
- si je mets auto-acknowledge : chaque message lu par le requester est sorti de la queue m�me s'il ne le concerne pas . ainsi ce message est perdu pour ces vrais propri�taires ( les autres requesters )
- si je met CLIENT.acknowledge : un message lu n'est sorti de la queue que si l'application l'acquitte manuellement. mais d�s que je fais msg.acknowledge() tous les messages sont sortis pas seulement celui acquitt�.
Quelqu'un peut il m'aider sur ce probl�me assez complexe ....??