No contexto do serviço de Enfileiramento de Mensagens, filas são locais de armazenamento temporário para tipos diferentes de mensagens. As filas podem ser criadas por:
- Aplicativos
- Administradores
- Enfileiramento de Mensagens
As filas que os aplicativos ou os administradores criam são chamadas de filas do aplicativo. As filas que o Enfileiramento de Mensagens cria são chamadas de filas do sistema.
Filas do aplicativo
O Enfileiramento de Mensagens contém os seguintes tipos de filas do aplicativo:
Filas públicas e particulares
Filas públicas
No ambiente do domínio, as filas públicas são filas publicadas no AD DS (Active Directory Domain Services, Serviços de Domínio do Diretório Ativo) e são, portanto, replicadas na floresta. Somente as propriedades dessas filas são replicadas, as filas reais ou seus conteúdos não são replicados. Qualquer computador da floresta pode acessar potencialmente as informações relativas às filas públicas, desde que o usuário tenha permissão suficiente para acessar os objetos da fila pertinente. De forma geral, qualquer usuário na floresta com acesso ao AD DS e permissão para Enviar Mensagem a uma determinada fila pública pode enviar mensagens a ela. Essa permissão é fornecida por padrão quando a fila é criada. Para ler as mensagens de uma fila pública, você deve ter permissões para Exibir ou Receber Mensagem para essa fila.
No ambiente AD DS, a definição de filas públicas garante que as filas sejam registradas no serviço do diretório, e que o registro seja armazenado em backup. Elas são persistentes e estão disponíveis a todos os outros aplicativos.
Filas particulares
As filas particulares são filas que não são publicadas no AD DS. Elas são exibidas somente no computador local onde elas se encontram. As filas particulares têm a vantagem de não sobrecarregarem o serviço do diretório, resultando em filas que:
- São mais rápidas para serem criadas.
- Não têm latência quando são acessadas.
- Não têm sobrecarga de replicação.
No ambiente de grupo de trabalho, somente as filas particulares estão disponíveis.
Para que um aplicativo de Enfileiramento de Mensagens do computador local acesse uma fila particular, o aplicativo só precisa conhecer o caminho da fila. No caso de um aplicativo de Enfileiramento de Mensagens no computador remoto, o aplicativo requer o nome do formato direto ou particular para acessar tal fila. Para ler as mensagens da fila, o aplicativo de Enfileiramento de Mensagens remoto precisa de permissão para Receber Mensagem para a fila específica. Por padrão, todos têm permissão para enviar mensagens a filas públicas e particulares.
Filas transacionais e não transacionais
Fila transacional é aquela que contém somente mensagens transacionais, que são mensagens enviadas em uma transação. Os requisitos para enviar e receber mensagens são baseados no tipo de fila usada (transacional ou não transacional) e na localização da fila (local ou remota).
Enviando mensagens
Ao usar as transações para enviar mensagens, as mensagens podem ser enviadas para qualquer fila transacional, independentemente de onde a fila esteja localizada, porém as filas transacionais só podem aceitar as mensagens enviadas no contexto da transação. De forma parecida, as filas não transacionais só podem aceitar as mensagens enviadas fora do contexto da transação.
Recebendo mensagens
Você pode receber mensagens de uma fila local ou remota.
Subfilas
As subfilas permitem que aplicativos agrupem mensagens. As subfilas são úteis nas situações a seguir:
- Processamento de ordem de serviço. Se um aplicativo processa as mensagens que contêm itens de ordens de serviço diferentes, pode usar as subfilas para agrupar os itens da linha por ordem de serviço para que o processamento seja mais eficiente.
- Tratamento de mensagens nocivas. Se o aplicativo recebe uma mensagem que não pode ser processada no momento, pode mover a mensagem para uma subfila de falhas para processamento posterior.
As subfilas são criadas implicitamente quando são abertas. Em outras palavras, quando uma mensagem é movida para uma subfila, essa ação cria necessariamente uma subfila, caso ainda não exista. As subfilas são excluídas quando estão vazias e não têm identificadores abertos. Os aplicativos não podem enviar mensagens diretamente a subfilas. Só podem mover as mensagens para uma subfila. Podem receber mensagens das subfilas, movê-las entre a fila principal e as subfilas, ou movê-las entre as subfilas da mesma fila principal. Não podem movê-las da subfila da fila principal para a subfila de uma fila principal diferente.
Por exemplo, na figura a seguir, as mensagens podem ser movidas de uma subfila1 (ou subfila2) para a pasta de mensagens de fila da filaA, ou vice-versa. As mensagens também podem ser movidas da subfila1 para a subfila2 e vice-versa. De forma parecida, as mensagens podem ser movidas entre a filaZ e suas subfilas, subfila3 e subfila4.
Entretanto, as mensagens não podem ser movidas entre a filaA e a subfila3 ou subfila4, ou entre a subfilaZ e a subfila1 ou a subfila2. De forma similar, as mensagens não podem ser movidas entre as subfilas da filaA (subfila1 ou subfila2) e as subfilas da filaZ (subfila3 ou subfila4).
As subfilas não têm propriedades ou estados próprios. Compartilham as propriedades da fila principal. Por exemplo, uma subfila não tem:
- Cota
- ACL (Access control list, Lista de controle de acesso)
- Tipo Transacional
As subfilas compartilham a cota da fila principal, e as mensagens da subfila são criadas dentro dessa cota.
As subfilas não podem ser criadas na fila de diário ou em outras filas do sistema, ou em outras subfilas.
Filas de administração
As filas de administração são filas criadas pelo aplicativo. São usadas para armazenar as mensagens de reconhecimento positivo e negativo geradas pelo sistema que o Enfileiramento de Mensagens ou os aplicativos do conector criam. São especificadas por meio de programa nas mensagens originais pelo aplicativo de envio. Qualquer fila não transacional disponível pode ser definida como fila de administração. As filas de administração não contêm mensagens administrativas, que são armazenadas nas filas particulares internas.
As mensagens de reconhecimento geradas pelo sistema retornadas para essas filas podem indicar se a mensagem chegou na fila de destino, se foi recuperada da fila de destino, ou ambos. Cada mensagem de reconhecimento contém informações que descrevem o que disparou o reconhecimento e a qual mensagem o reconhecimento se refere. Ao solicitar mensagens de reconhecimento, o aplicativo de envio deve especificar a fila a ser usada como fila de administração e o nível de reconhecimento da mensagem. Geralmente, a fila de administração é uma fila local, para que o aplicativo de envio possa ler localmente as mensagens de reconhecimento.
Filas de resposta
Assim como as filas de administração, as filas de resposta são criadas pelo aplicativo. São usadas para armazenar as mensagens de resposta geradas pelo aplicativo que são, geralmente, retornadas pelo aplicativo que está lendo as mensagens da fila. As filas de resposta são especificadas por meio de programa pelo aplicativo de envio quando a mensagem é enviada. Qualquer fila disponível pode ser definida como fila de resposta. As mensagens de resposta não são iguais às mensagens de resposta administrativa, que são armazenadas na fila particular interna.
As mensagens de resposta que retornam para essas filas devem ser entendidas pelo aplicativo que retorna as mensagens de resposta e pelo aplicativo que lê essas mensagens. O Enfileiramento de Mensagens não tem controle das informações que são enviadas nas mensagens de resposta. Ao solicitar mensagens de resposta, o aplicativo de envio deve especificar as filas a serem usadas como filas de resposta. Geralmente, as filas de resposta são filas locais, para que o aplicativo de envio possa ler localmente as mensagens de resposta.
Quando a fila de resposta e a fila administrativa são necessárias, a funcionalidade pode ser combinada em uma fila única. Entretanto, já que todas as filas administrativas devem ser não transacionais, essa fila aceitará somente as mensagens não transacionais.
Filas de relatório
As filas de relatório são filas geradas pelo aplicativo, que são usadas para armazenar as mensagens de relatório que o Enfileiramento de Mensagens ou os aplicativos do conector geram quando o aplicativo de envio solicita rastreamento. As mensagens de relatório indicam a rota que a mensagem tomou até o seu destino no computador remoto, ou a rota que a mensagem de teste tomou até a fila de teste no computador remoto. Só podem haver uma fila de relatório para cada computador.
Todas as filas de relatório têm rótulo e o identificador de tipo de fila a seguir:
- Rótulo: MQReport Queue
- Identificador de tipo de fila:
{55EE8F32-CCE9-11CF-B108-0020AFD61CE9}
O administrador do Enfileiramento de Mensagens geralmente cria filas de relatório por meio de Usuários e Computadores do Active Directory. No entanto, o aplicativo também pode gerar essas filas se o rótulo e o identificador de tipo de fila corretos forem especificados quando a fila for criada. O Enfileiramento de Mensagens usa o rótulo e o identificador de tipo de fila para localizar e abrir a fila adequada ao enviar mensagens de relatório.
Filas do sistema
O Enfileiramento de Mensagens cria as filas do sistema. Os aplicativos podem ler as mensagens das filas do sistema, mas não podem enviar mensagens a elas. O Enfileiramento de Mensagens fornece tipos diferentes de filas do sistema, incluindo:
- Filas de diário, contendo as cópias de todas as mensagens removida de uma fila. Os diários do computador contêm as cópias de todas as mensagens enviadas de uma computador.
- Filas particulares internas, que são usadas como filas provisórias para armazenar e encaminhar mensagens em trânsito para uma fila de destino. Essas filas não são publicadas no AD DS. As filas de saída são filas particulares internas e locais, geradas automaticamente para armazenar mensagens enviadas a filas remotas.
- Filas de inatividade, que contêm as mensagens que não podem ser enviadas. O Enfileiramento de Mensagens fornece uma fila de inatividade transacional e uma fila de inatividade não transacional.
- Filas do conector, usadas para o envio de mensagens cruzadas pela plataforma.
- As filas de saída são filas internas e locais, usadas para armazenar mensagens enviadas a filas remotas. As mensagens podem ser armazenadas em filas de saída em condições offline e, em seguida, enviadas às filas de destino em computadores remotos quando a conectividade é restabelecida. Essas filas são geradas automaticamente e não podem ser criadas ou excluídas manualmente.
Execute os procedimentos a seguir conforme necessário para administrar as filas: