Gestion des messages

Découvrez comment publier, consommer et gérer des messages dans une file d'attente.

Exemple de flux de file d'attente

Le diagramme suivant présente un exemple dans lequel le producteur envoie un message à une file d'attente et deux consommateurs tentent de le traiter.

Diagramme représentant la production, la mise à jour, la consommation et la suppression d'un message.

  1. Un producteur envoie un message à la file d'attente avec le temps de conservation des messages par défaut.

    Le producteur reçoit la confirmation que le service de file d'attente a reçu et stocké le message.

  2. Le consommateur A tente de recevoir le message.

    Le consommateur A reçoit le message qu'il est censé traiter dans la temporisation de visibilité A.

  3. Le consommateur B tente de recevoir un message.

    Le consommateur B ne reçoit rien, car le seul message disponible était déjà consommé par le consommateur A.

  4. Le consommateur A ne parvient pas à traiter le message dans la temporisation de visibilité A. Il met donc à jour le message pour prolonger la temporisation de visibilité.
  5. Le consommateur B tente de recevoir à nouveau un message.

    Le consommateur B ne reçoit rien, car le seul message disponible a été consommé et étendu par le consommateur A.

  6. La temporisation de visibilité prolongée expire.
  7. Le consommateur B tente de recevoir un message une troisième fois.

    Le consommateur B reçoit le message qu'il est censé traiter dans la temporisation de visibilité B.

  8. Le consommateur A tente de recevoir le message, mais ne reçoit rien, car le consommateur B a consommé le message.

    Le consommateur A ne peut plus prolonger la temporisation de visibilité du message ni supprimer le message.

  9. Le consommateur B traite le message avec succès et tente de le supprimer de la file d'attente.

    Le consommateur B reçoit la confirmation que le message a été supprimé définitivement, de sorte qu'il ne peut être livré à aucun autre consommateur.

Note

Chaque fois qu'un message est transmis à un consommateur, le champ Nombre de transmissions du message est incrémenté. Lorsque le nombre de transmissions d'un message atteint le maximum configuré, il est envoyé à une file d'attente de lettres mortes.

Point d'extrémité pour les messages

Pour produire vers une file d'attente ou consommer des messages à partir d'une file d'attente, vous devez connaître le point d'extrémité pour les messages utilisé par cette file d'attente. Le point d'extrémité des messages d'une file d'attente ressemble à ceci :

https://cell-1.queue.messaging.<region>.oci.oraclecloud.com

Pour rechercher le point d'extrémité des messages d'une file d'attente :

  1. Dans la page de liste Files d'attente, sélectionnez la file d'attente avec laquelle vous voulez travailler. Si vous avez besoin d'aide pour trouver la page de liste ou la file d'attente, voir Liste des files d'attente.

    La section Informations sur la file d'attente contient le point d'extrémité pour les messages.

Vous pouvez trouver le point d'extrémité pour les messages à l'aide de l'API avec une demande GetQueue.

Politique GIA requise

Voir Politiques de file d'attente et Exemples de politiques pour plus de détails sur les autorisations requises pour la gestion des files d'attente.

Étapes suivantes