228 votes

Sujet JMS et files d'attente

Je me demandais quelle était la différence entre une file d'attente JMS et un sujet JMS.

De la page activemq il est dit

A. Sujet

Dans JMS, un sujet met en œuvre la sémantique de publication et d'abonnement. Lorsque vous publiez un message, il est envoyé à tous les abonnés qui sont intéressés - ainsi, de zéro à plusieurs abonnés recevront une copie du message. Seuls les abonnés qui ont un abonnement actif au moment où le courtier reçoit le message recevront une copie du message.

B. File d'attente

Une file d'attente JMS met en œuvre une sémantique d'équilibreur de charge. Un message unique sera reçu par exactement un consommateur. S'il n'y a pas de consommateur disponible au moment où le message est envoyé, il sera conservé jusqu'à ce qu'un consommateur soit disponible et puisse traiter le message. Si un consommateur reçoit un message et n'en accuse pas réception avant la fermeture, le message sera redélivré à un autre consommateur. Une file d'attente peut avoir de nombreux consommateurs, les messages étant répartis entre les consommateurs disponibles.

Je cherche à avoir une "chose" qui enverra une copie du message à chaque abonné dans la même séquence que celle dans laquelle le message a été reçu par le courtier ActiveMQ.

Des idées ?

172voto

Joseph Ottinger Points 2850

Cela signifie qu'un sujet est approprié. Une file d'attente signifie qu'un message est envoyé à un et un seul abonné possible. Un sujet est envoyé à tous les abonnés.

61voto

vikram Points 71

Les sujets sont destinés au modèle éditeur-abonné, tandis que les files d'attente sont destinées au modèle point à point.

8voto

eebbesen Points 1596

En ce qui concerne la préservation de l'ordre, voir cette page ActiveMQ . En bref : l'ordre est préservé pour les consommateurs uniques, mais avec des consommateurs multiples, l'ordre de livraison n'est pas garanti.

-1voto

Geetha Points 29

La file d'attente est un objet géré par JMS utilisé pour conserver les messages en attente de consommation par les abonnés. Lorsque tous les abonnés ont consommé le message, celui-ci est retiré de la file d'attente.

Le principe du sujet est que tous les abonnés à un sujet reçoivent le même message lorsque celui-ci est publié.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X