cniDispatchThread

Esta función despacha una nueva hebra de flujo de mensajes para invocar otra instancia de hebra a fin de ejecutar el nodo de entrada de flujo de mensajes definido por el usuario. Esta hebra de flujo de mensajes se asigna tomándola de una agrupación de hebras mantenidas para cada flujo de mensajes, bajo el control de la propiedad Instancias adicionales del flujo de mensajes. Si no hay hebras disponibles porque se están utilizando todas, se devuelve CCI_SUCCESS y returnCode se establece en CCI_NO_THREADS_AVAILABLE. No se trata de un error, sino que se debe a una de las razones siguientes:
  • El flujo de mensajes no se ha configurado para ejecutarse con hebras adicionales.
  • Todas las hebras adicionales configuradas están en ejecución actualmente.

La función cniDispatchThread sólo se puede emitir desde un nodo de entrada. Si se emite en cualquier otro momento, se devuelve CCI_FAILURE y returnCode se establece en CCI_INV_NODE_ENV.

Sintaxis

int cniDispatchThread(
  int*        returnCode,
  CciNode*    nodeObject);

Parámetros

returnCode
Código de retorno de la función (salida).
Los códigos de retorno posibles son:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_NO_THREADS_AVAILABLE
  • CCI_INV_NODE_OBJECT
  • CCI_INV_NODE_ENV
nodeObject
Dirección del objeto de nodo que se ejecuta cuando WebSphere Message Broker crea o vuelve a utilizar la hebra. Ésta se pasa al nodo cuando se invoca la función de implementación cniCreateNodeContext (entrada).

Valores de retorno

  • Si se ha asignado una hebra satisfactoriamente, se devuelve CCI_SUCCESS y returnCode se establece en CCI_SUCCESS.
  • Si no se ha podido despachar una hebra porque no había suficientes hebras en la agrupación de hebras de flujo de mensajes para satisfacer la petición, se devuelve CCI_SUCCESS y returnCode se establece en CCI_NO_THREADS_AVAILABLE.
  • Si la función no se ha emitido desde un nodo de entrada, se devuelve CCI_FAILURE y returnCode se establece en CCI_INV_NODE_ENV.
  • Para cualquier otra condición de error, se devuelve CCI_FAILURE y returnCode indica la razón del error.

Ejemplo

  cniDispatchThread(&rcDispatch, ((NODE_CONTEXT_ST *)context)->nodeObject);
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as07520_