cniRun

Essa função declara o nó como um nó input. Ela não é utilizada pelo processamento de mensagens ou por nós de saída, e não é preciso chamar cniEvaluate. O WebSphere Message Broker aloca um encadeamento e chama esta função nesse encadeamento.

Definido em Type Membro
CNI_VFT Condicional iFpRun

Sintaxe

int cniRun(                       
  CCiContext*  context,
  CCiMessage*  destinationList,
  CciMessage*  exceptionList,
  CciMessage* message
);

Parâmetros

context
O endereço do contexto para a instância do nó, conforme criado pelo nó e retornado pela função cniCreateNodeContext (entrada).
destinationList
O endereço do objeto de lista de destino de entrada (entrada).
exceptionList
O endereço da lista de exceção para a mensagem (entrada).
message
O endereço do objeto de mensagem ao qual os dados estão conectados (entrada).

O nó definido pelo usuário pode associar um fluxo de bits a esta mensagem chamando cniSetInputBuffer. A ocupação da árvore desta mensagem não é suportada, portanto, as chamadas para funções como cniAddAsLastChild ou cniCreateElementAsLastChildFromBitstream serão ineficientes. Para construir partes da árvore em vez de fornecer um buffer para ser analisado como a mensagem inteira, é necessário criar uma nova mensagem utilizando cniCreateMessage.

Por exemplo, se você tiver um fluxo de bits que será utilizado como a parte da carga útil da mensagem e também desejar incluir um cabeçalho, será necessário concluir as seguintes etapas:
  1. Crie uma nova mensagem utilizando cniCreateMessage.
  2. Crie a parte do cabeçalho nesta nova mensagem utilizando as funções de Utilitário de Acesso ao Elemento de Sintaxe, por exemplo, cniCreateElementAsLastChildUsingParser e transmitindo o elemento raiz desta nova mensagem.
  3. Inclua campos no cabeçalho utilizando funções como cniCreateElementAsLastChild.
  4. Crie o corpo da mensagem analisando seu fluxo de bits chamando cniCreateElementAsLastChildFromBitstream e transmitindo o elemento raiz desta nova mensagem.

Valores de Retorno

Essa função é chamada pelo intermediário como parte de um loop. O significado do valor de retorno é mostrado a seguir.

CCI_TIMEOUT
O nó input não recebeu seus dados de entrada e exige que o controle seja retornado ao WebSphere Message Broker no caso de estar sendo pedida a reconfiguração do fluxo de mensagens.Um nó input definido pelo usuário deve retornar com freqüência razoável para devolver o controle ao WebSphere Message Broker.
CCI_SUCCESS_CONTINUE
Uma mensagem foi processada com êxito. O processamento padrão de commit da transação é executado pelo WebSphere Message Broker.A função de implementação cniRun do nó input é chamada imediatamente para que o nó possa continuar o processamento.
CCI_SUCCESS_RETURN
Uma mensagem foi processada com êxito. O processamento padrão de commit da transação é executado pelo WebSphere Message Broker.O nó input determinou que o encadeamento não é necessário e ele é retornado ao conjunto de encadeamentos do fluxo de mensagens. Se isso é executado no único encadeamento ou no último encadeamento ativo, o WebSphere Message Broker impede que esse último encadeamento seja retornado ao conjunto, caso contrário não haveria nenhum outro encadeamento ativo que pudesse despachar outro encadeamento.Nessa situação, o WebSphere Message Broker chama a função de implementação cniRun imediatamente, como se CCI_SUCCESS_CONTINUE tivesse sido retornado.
CCI_FAILURE_CONTINUE
Um erro foi detectado no processamento de uma mensagem e o nó está pedindo que seja executado processamento de rollback da transação. A função de implementação cniRun do nó input é chamada imediatamente.
CCI_FAILURE_RETURN
Um erro foi detectado no processamento de uma mensagem e o nó está pedindo que seja executado processamento de rollback da transação. Entretanto, o nó input determinou que o encadeamento não é necessário e ele pode ser retornado ao conjunto de encadeamentos do fluxo de mensagens. Se isso é executado no último encadeamento ativo, o WebSphere Message Broker impede que esse último encadeamento seja retornado ao conjunto, caso contrário não haveria nenhum outro encadeamento ativo que pudesse despachar outro encadeamento.Nessa situação, o WebSphere Message Broker chama a função de implementação cniRun imediatamente, como se CCI_FAILURE_CONTINUE tivesse sido retornado.
Tarefas relacionadas
Criando um Nó Input em C
Referências relacionadas
Funções de Implementação de Nó C
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as07480_