Ciclo de Vida do Nó C de Entrada Definido pelo Usuário

Este tópico o orienta pelos vários estágios na existência de um nó input definido pelo usuário gravado utilizando a linguagem de programação C. Ele cobre os seguintes estágios no ciclo de vida de um nó input:

Registro

Durante a fase de registro, o servidor intermediário descobre quais recursos estão disponíveis e quais LILs podem fornecê-los. Neste exemplo, os recursos disponíveis são nós. A fase se inicia quando um grupo de exceções inicia. As LILs são carregadas na inicialização de um grupo de execução e o servidor intermediário as consulta para descobrir que recursos elas podem fornecer.

Uma estrutura CciFactory é criada durante a fase de registro, quando o nó definido pelo usuário chama cniCreateNodeFactory.

As APIs a seguir são chamadas pelo intermediário durante este estágio:
  • biGetMessageflowNodeFactory
  • bipGetParserFactory
A API a seguir é chamada pelo nó definido pelo usuário durante este estágio:
  • cniCreateNodeFactory

Instanciação

Uma instância de um nó de entrada definido pelo usuário é criada quando o comando mqsistart inicia ou reinicia o processo do grupo de execução ou quando um fluxo de mensagens associado ao nó é implementado.

As seguintes APIs são chamadas durante essa fase:
  • cniCreateNodeContext. Esta API aloca memória para a criação da instância do nó definido pelo usuário para conter os valores para os atributos configurados. Esta API é chamada uma vez para cada fluxo de mensagens que esteja utilizando o nó Input definido pelo usuário.
  • cniCreateInputTerminal. Esta API é chamada dentro da API cniCreateNodeContext, e é utilizada para instruir ao intermediário quais terminais de entrada tem, se existirem, o nó input definido pelo usuário.
    Nota: O nó input definido pelo usuário terá terminais de entrada somente se estiver agindo também como um nó de processamento de mensagem. Se esse for o caso, em geral é melhor utilizar um nó de processamento de mensagem definido pelo usuário separado para executar o processamento de mensagens, em vez de combinar ambas as operações em um nó mais complexo.
  • cniCreateOutputTerminal. Esta API é chamada dentro da API cniCreateNodeContext, e é utilizada para instruir ao intermediário quais terminais de saída seu nó input definido pelo usuário tem.
  • cniSetAttribute. Esta API é chamada pelo intermediário para estabelecer os valores para os atributos configurados do nó definido pelo usuário.

Durante essa fase uma estrutura CciTerminal é criada. Essa estrutura é criada quando cniCreateTerminal é chamado.

Processamento

A fase de processamento começa quando a funçãocniRun é chamada pelo intermediário. O intermediário utiliza a função cniRun para determinar como processar uma mensagem, incluindo a determinação do domínio no qual uma mensagem está definida e a chamada do analisador relevante para esse domínio.

Um encadeamento é pedido do conjunto de encadeamentos do fluxo de mensagens e é iniciado no método run do nó input. O encadeamento se conecta ao gerenciador de filas do intermediário e retém essa conexão por seu ciclo de vida. Quando um encadeamento tiver sido alocado, o nó entrará em um loop de processamento de mensagem enquanto aguarda receber uma mensagem. Ele permanecerá no loop, até que uma mensagem seja recebida. Se o fluxo de mensagens for configurado para utilizar vários encadeamentos, o dispatch de encadeamentos será ativado.

Os dados da mensagem podem agora ser propagados recebimento de dados.

As seguintes APIs são chamadas pelo intermediário durante esta fase:
  • cniRun. Esta função é chamada pelo intermediário para determinar como processar a mensagem de entrada.
  • cniSetInputBuffer. Esta função fornece um buffer de entrada ou instrui ao intermediário onde o buffer de entrada está, e o associa a um objeto de mensagem.

Destruição

Um nó input definido pelo usuário é destruído quando o fluxo de mensagens é reimplementado, ou quando mqsistop é utilizado para parar o processo do grupo de execução. É possível destruir o nó implementando a função cniDeleteNodeContext.

Quando um nó input definido pelo usuário é destruído de uma dessas maneiras, deve-se liberar qualquer memória utilizada pelo nó e liberar quaisquer recursos retidos, tais como soquetes.

As seguintes APIs são chamadas pelo intermediário durante esta fase:
  • cniDeleteNodeContext. Esta função é chamada pelo intermediário para destruir a instância do nó input.
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as01391_