Files d'attente
Les files d'attente stockent les messages. Lorsque Service Broker reçoit un message pour un service, il le place dans la file d'attente du service concerné. Pour obtenir les messages envoyés au service, une application réceptionne ces messages à partir de la file d'attente. Service Broker gère les files d'attente et affiche une vue similaire à celle d'une table pour chaque file d'attente.
Chaque service est associé à une file d'attente. Lorsqu'un message destiné à un service se présente, Service Broker le place dans la file d'attente associée au service.
Chaque message représente une ligne dans la file d'attente. La ligne comprend le contenu du message ainsi que des informations se rapportant au message, comme son type, le service qu'il cible, le contrat qu'il respecte, la validation dont il bénéficie, la conversation dont il fait partie, mais aussi des informations internes à la file d'attente. Une application utilise les informations regroupées dans la ligne du message pour identifier chaque message spécifiquement, afin de le traiter de façon appropriée.
Les applications reçoivent les messages de la file d'attente du service. Ces files d'attente retournent, pour chaque conversation, des messages dans l'ordre suivant lequel l'expéditeur les a envoyés. Tous les messages renvoyés à partir d'une opération de réception unique font partie de conversations appartenant à un seul groupe de conversations. En effet, une file d'attente conserve des séries de messages connexes, à raison d'une série par groupe de conversations. La file d'attente retourne une de ces séries chaque fois que l'application effectue une opération de réception à partir de la file d'attente. L'application peut choisir de recevoir des messages pour une conversation ou un groupe de conversations spécifique. Les files d'attente ne retournent pas les messages dans l'ordre strict du « premier arrivé, premier reparti », elles renvoient plutôt les messages de chaque conversation dans l'ordre selon lequel les messages ont été envoyés. Une application n'a donc pas besoin d'inclure du code pour retrouver l'ordre original des messages.
Une file d'attente peut être associée à une procédure stockée. Dans ce cas, SQL Server active la procédure stockée lorsqu'il y a des messages à traiter dans la file d'attente. SQL Server peut lancer plusieurs instances de la procédure stockée, jusqu'au maximum autorisé par la configuration. Pour plus d'informations, consultez Activation Service Broker.
Voir aussi