Quelle est la différence entre un MessageListener et un Consumer dans JMS?

Je suis nouveau sur JMS. Que j'ai compris Consumers sont capables de prendre des messages de la file d'attente/sujet. Alors, pourquoi avez-vous besoin d'une MessageListener parce que Consumers permettra de savoir quand ils ont ramassé des messages? Qu'est-ce que l'utilisation pratique d'un tel MessageListener?

Edit:a Partir de la Javadoc de MessageListener:

Un MessageListener objet est utilisé pour recevoir de manière asynchrone livré
les messages.

Chaque session doit s'assurer qu'il transmet des messages en série pour l'
auditeur. Cela signifie qu'un auditeur attribué à un ou plusieurs consommateurs
de la même session peut supposer que la onMessage méthode n'est pas appelée
avec le message suivant jusqu'à ce que la session a terminé le dernier appel.

Donc je suis confus entre l'utilisation de ces termes de manière asynchrone et en série ensemble. Comment ces deux termes se rapportent dans la description de la fonctionnalité de MessageListener?

source d'informationauteur Geek