As saídas do usuário permitem que o software customizado fornecido pelo
usuário rastreie os dados que passam através dos fluxos de mensagens nos
WebSphere Message Brokers.
As funções fornecidas pelo usuário podem ser chamadas em pontos
específicos durante o ciclo de vida de uma mensagem conforme ela é transmitida
através do fluxo de mensagens e podem chamar funções do utilitário para
consultar informações sobre o ponto no fluxo, e o conteúdo da montagem de mensagem.
As saídas do usuário podem ser chamadas quando ocorrer um ou mais dos
eventos a seguir:
- Fim da UOW (unit-of-work) ou da transação (COMMIT/ROLLBACK)
- Uma mensagem sendo transmitida entre dois nós
- Uma mensagem removida da fila a partir da origem de entrada.
No fluxo de mensagens básicas mostrado acima, você pode rastrear as
mensagens em dois níveis:
- Nível da Transação
- Nível do Nó
No nível da Transação, você pode rastrear os seguintes eventos:
- Mensagens sendo lidas no fluxo
- Conclusão da transação.
No nível do Nó, você pode rastrear os seguintes eventos:
- Uma mensagem sendo transmitida de um nó a outro
- Conclusão do processamento para um nó.
Isso significa que existem quatro tipos diferentes de eventos, que
ocorrem na seguinte seqüência:
- Mensagem removida da fila a partir da origem de entrada (lida no fluxo)
- Mensagem propagada para o nó para processamento
- Processamento do nó concluído
- Fim da transação.
No diagrama acima, o nó MQInput é utilizado como um exemplo, mas a função
aplica-se a todos os nós de entrada, incluindo os nós definidos pelo usuário.
No entanto, existe uma leve diferença entre os nós internos e os nós definidos
pelo usuário, da maneira na qual as saídas do usuário são chamadas. Para os
nós de entrada interna, a saída do usuário é chamada assim que possível depois
que os dados forem lidos da origem externa. Para os nós de entrada definidos
pelo usuário, a saída do usuário será chamada pouco antes de o nó propagar a
mensagem.
No exemplo mostrado acima, o evento 4 é acionado no fim da transação. A
saída do usuário é chamada depois que a transação tiver sido concluída, de modo
que o processamento de saída do usuário não faça parte dessa transação.
A saída do usuário é chamada mesmo se nenhum procedimento de transação tiver
sido concluído pelo fluxo. Quando a Contagem de Confirmação de propriedade do fluxo de mensagens for maior do que 1, há uma proporção de muitos para um entre o evento 1 e o evento 4.
Isso também é verdadeiro para alguns cenários específicos do nó de entrada específico; por exemplo, quando um MQInputNode for configurado com a propriedade Confirmar por Grupo de Mensagens selecionada.
Você pode gravar uma saída de usuário para rastrear qualquer número desses
eventos. Para cada um desses eventos, os seguintes dados estão disponíveis para
a saída de usuário. Todo o acesso é somente de leitura, a menos que seja
indicado de forma diferente:
- Remover a mensagem da fila:
- Fluxo de Bits
- Nó Input
- Árvore Ambiente (leitura/gravação)
- Mensagem propagada para o nó:
- Árvore de Mensagens
- Árvore LocalEnvironment (leitura/gravação)
- Lista de Exceções
- Árvore Ambiente (leitura/gravação)
- Nó de Origem
- Nó de Destino
- Processamento de nó concluído:
- Árvore de Mensagens
- Árvore LocalEnvironment (leitura/gravação)
- Lista de Exceções
- Árvore Ambiente (leitura/gravação)
- Nó
- Nó de Envio de Dados
- Exceção (se houver)
- Fim da transação:
- Nó Input
- Exceção, se houver
- Árvore Ambiente (leitura/gravação)
Várias saídas de usuário podem estar registradas e, se estiverem, elas serão
chamadas em uma ordem definida (consulte Comando mqsichangeflowuserexits). Quaisquer
alterações feitas na montagem da mensagem por uma saída do usuário serão
visíveis para as saídas de usuário subseqüentes.
Quando a saída de usuário for chamada, serão consultadas as seguintes informações:
- Informações sobre o fluxo de mensagens:
- Nome do fluxo de mensagens
- Nome do intermediário
- Nome do gerenciador de filas do intermediário
- Nome do grupo de execução
- Propriedade da contagem de confirmação do fluxo de mensagens
- Propriedade do intervalo de confirmação do fluxo de mensagens
- Propriedade de transação coordenada do fluxo de mensagens.
- Informações sobre o nó:
- Nome de nó
- Tipo de Nó
- Nome do terminal
- Propriedades do nó
- Navegue e leia a montagem de mensagens (Message,LocalEnvironment,ExceptionList)
- Navegue e leia/grave a árvore Ambiente.
As saídas do usuário podem ser registradas dinamicamente, sem precisar
implementar novamente a configuração.