cniRun

Esta función declara el nodo como un nodo de entrada. Los nodos de proceso de mensajes o de salida no la utilizan y no es necesario invocar cniEvaluate. WebSphere Message Broker asigna una hebra e invoca esta función en dicha hebra.

Definida en Tipo Miembro
CNI_VFT Condicional iFpRun

Sintaxis

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

Parámetros

context
Dirección del contexto para la instancia del nodo, creado por el nodo y devuelto por la función cniCreateNodeContext (entrada).
destinationList
Dirección del objeto de lista de destinos de entrada (entrada).
exceptionList
Dirección de la lista de excepciones para el mensaje (entrada).
message
Dirección del objeto de mensaje al que se han adjuntado los datos (entrada).

El nodo definido por el usuario puede asociar una corriente de bits a este mensaje llamando a cniSetInputBuffer. No se da soporte a llenar con datos el árbol de este mensaje, por lo que las llamadas a funciones como cniAddAsLastChild o cniCreateElementAsLastChildFromBitstream no tendrán efecto. Para crear partes del árbol en lugar de proveer un almacenamiento intermedio para analizar como el mensaje entero, debe crear un mensaje nuevo utilizando cniCreateMessage.

Por ejemplo, si tiene una corriente de datos que debe utilizarse como la sección del cuerpo del mensaje y también desea añadir una cabecera, debe completar los pasos siguientes:
  1. Crear un nuevo mensaje utilizando cniCreateMessage.
  2. Crear la sección de cabecera en este nuevo mensaje utilizando las funciones de utilidad de acceso a elementos de sintaxis, por ejemplo cniCreateElementAsLastChildUsingParser, y pasar el elemento raíz de este nuevo mensaje.
  3. Añadir campos a la cabecera utilizando funciones como cniCreateElementAsLastChild.
  4. Crear el cuerpo del mensaje analizando la corriente de bits llamando a cniCreateElementAsLastChildFromBitstream, y pasando el elemento raíz de este nuevo mensaje.

Valores de retorno

El intermediario invoca esta función como parte de un bucle. Más abajo se muestra el significado del valor de retorno.

CCI_TIMEOUT
El nodo de entrada no ha recibido los datos de entrada y necesita que se devuelva el control a WebSphere Message Broker en el caso de que se solicite la reconfiguración del flujo de mensajes. Un nodo de entrada definido por el usuario debe volver de forma razonablemente frecuente para devolver el control a WebSphere Message Broker.
CCI_SUCCESS_CONTINUE
Se ha procesado satisfactoriamente un mensaje. WebSphere Message Broker realiza el proceso de confirmación de transacción por omisión. Se invoca inmediatamente la función de implementación cniRun del nodo de entrada para que el nodo pueda continuar el proceso.
CCI_SUCCESS_RETURN
Se ha procesado satisfactoriamente un mensaje. WebSphere Message Broker realiza el proceso de confirmación de transacción por omisión. El nodo de entrada ha determinado que la hebra no es necesaria y ésta se devuelve a la agrupación de hebras de flujo de mensajes. Si esto se realiza en la única hebra o en la última hebra activa, WebSphere Message Broker impide que esta última hebra se devuelva a la agrupación porque, de lo contrario, no habrá ninguna otra hebra activa que pueda despachar otra hebra. En esta situación, WebSphere Message Broker invoca la función de implementación cniRun inmediatamente, como si se hubiera devuelto CCI_SUCCESS_CONTINUE.
CCI_FAILURE_CONTINUE
Se ha detectado un error en el proceso de un mensaje y el nodo está solicitando que se realice el proceso de restitución de transacción. Se invoca inmediatamente la función de implementación cniRun del nodo de entrada.
CCI_FAILURE_RETURN
Se ha detectado un error en el proceso de un mensaje y el nodo está solicitando que se realice el proceso de restitución de transacción. Sin embargo, el nodo de entrada ha determinado que la hebra no es necesaria y que se puede devolver a la agrupación de hebras de flujo de mensaje. Si esto se realiza en la última hebra activa, WebSphere Message Broker impide que esta última hebra se devuelva a la agrupación o, de lo contrario, no habrá ninguna otra hebra activa que pueda despachar otra hebra. En esta situación, WebSphere Message Broker invoca la función de implementación cniRun inmediatamente, como si se hubiera devuelto CCI_FAILURE_CONTINUE.
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as07480_