Publication et abonnement (Pub/Sub)
Lorsque la destination est une rubrique, le mode de messagerie est appelé Publication et abonnement (ou Pub/Sub). Dans celui-ci, chaque message envoyé par un producteur (éditeur) peut avoir zéro, un ou plusieurs consommateurs (abonnés). Les configurations éditeur-abonné possibles dans ce mode sont un à un, un à plusieurs, plusieurs à plusieurs et plusieurs à un.
En mode Pub/Sub, un message est supprimé dès qu'il arrive à expiration ou dès qu'il a été livré à tous ses abonnés actifs.
Il existe également un mode spécial dans lequel nous pouvons avoir un abonné durable. Avec cette fonction, un message non arrivé à expiration est délivré à un abonné durable dès que celui-ci devient actif, à condition que ce dernier ait été enregistré en tant qu'abonné durable avant la publication du message.
Contrairement au mode PTP, un fournisseur n'est pas obligé de stocker un message en mode Pub/Sub si la destination prévue n'a pas d'abonné actif ni d'abonné durable enregistré.
Le traitement réussi d'un message peut ou non faire l'objet d'un accusé de réception dans ce mode. Comme prévu, les classes d'API JMS sont clairement regroupées autour des modes de messagerie (PTP ou Pub/Sub), ce qui facilite la programmation et la compréhension du modèle.
Par exemple, si nous savez que la destination est une rubrique, les classes TopicConnectionFactory, TopicConnection, TopicSession, TopicPublisher, TopicSubscriber correspondantes doivent être disponibles pour effectuer des opérations de messagerie pour la destination de rubrique.