Compartilhar via


Filas

Enfileira mensagens de armazenamento . Quando o Service Broker recebe uma mensagem de um serviço,o Service Broker a insere na fila desse serviço. Para receber as mensagens enviadas ao serviço, um aplicativo recebe mensagens da fila. O Service Broker gerencia filas e apresenta uma exibição de uma fila que é semelhante a uma tabela.

Cada serviço é associado a uma fila. Quando uma mensagem chega para um serviço, o Service Broker a coloca na fila associada a esse serviço.

Cada mensagem é uma linha na fila. A linha tem o conteúdo da mensagem e informações sobre o tipo de mensagem, o serviço pretendido pela mensagem, o contrato que a mensagem segue, a validação executada na mensagem, a conversação da qual a mensagem faz parte e as informações internas para a fila. Um aplicativo usa as informações na linha de mensagem para identificar cada mensagem exclusivamente e processar a mensagem de modo apropriado.

Os aplicativos recebem mensagens da fila para o serviço. Para cada conversação, as filas retornam mensagens na ordem em que o remetente as envia. Todas as mensagens retornadas de uma única operação de recebimento fazem parte de conversações que pertencem a um grupo de conversação. De fato, uma fila contém conjuntos de mensagens relacionadas, um conjunto para cada grupo de conversação. A fila retorna um conjunto de mensagens relacionadas sempre que o aplicativo executa uma operação de recebimento da fila. O aplicativo pode optar por receber mensagens para uma conversação específica ou um grupo de conversação específico. As filas não retornam mensagens em uma ordem restrita de primeiro a entrar, primeiro a sair; em vez disso, as filas retornam as mensagens para cada conversação na ordem em que as mensagens foram enviadas. Assim, um aplicativo não precisa incluir código para recuperar a ordem original das mensagens.

Uma fila pode ser associada a um procedimento armazenado. Nesse caso, o SQL Server ativa o procedimento armazenado quando há mensagens na fila a ser processada. O SQL Server pode iniciar mais de uma instância do procedimento armazenado até um máximo configurado. Para obter mais informações, consulte Ativação do Service Broker.