cniDispatchThread

Questa funzione invia un nuovo thread del flusso di messaggi per richiamare un'altra istanza di thread per eseguire il nodo di input del flusso di messaggi definito dall'utente. Questo thread del flusso di messaggi è assegnato da un pool di thread mantenuto per ciascun flusso di messaggi, sotto il controllo della proprietà Istanze aggiuntive del flusso di messaggi. Se non sono disponibili thread in quanto sono tutti in uso, viene restituito CCI_SUCCESS e returnCode è impostato su CCI_NO_THREADS_AVAILABLE. Questo non è un errore, ma indica una delle situazioni riportate di seguito:
  • Il flusso di messaggi non è stato configurato per essere eseguito con ulteriori thread.
  • Tutti gli ulteriori thread configurati sono attualmente in esecuzione.

La funzione cniDispatchThread può essere emessa solo da un nodo di input. Se viene emessa in qualsiasi altro momento, viene restituito CCI_FAILURE e returnCode è impostato su CCI_INV_NODE_ENV.

Sintassi

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

Parametri

returnCode
Il codice di ritorno dalla funzione (output).
I codici di ritorno possibili sono:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_NO_THREADS_AVAILABLE
  • CCI_INV_NODE_OBJECT
  • CCI_INV_NODE_ENV
nodeObject
L'indirizzo dell'oggetto nodo che è in esecuzione quando WebSphere Message Broker crea o riutilizza il thread. Questo viene trasferito al nodo quando viene richiamata la relativa funzione di implementazione cniCreateNodeContext (input).

Valori di restituzione

  • Se un thread è stato assegnato con esito positivo, viene restituito CCI_SUCCESS e returnCode è impostato su CCI_SUCCESS.
  • Se non è stato possibile inviare un thread in quanto nel pool di thread del flusso di messaggi non erano disponibili thread sufficienti per soddisfare la richiesta, viene restituito CCI_SUCCESS e returnCode è impostato su CCI_NO_THREADS_AVAILABLE.
  • Se la funzione non è stata emessa dall'interno di un nodo di input, viene restituito CCI_FAILURE e returnCode è impostato su CCI_INV_NODE_ENV.
  • In caso di qualsiasi altra condizione di errore, viene restituito CCI_FAILURE e returnCode indica il motivo dell'errore.

Esempio

  cniDispatchThread(&rcDispatch, ((NODE_CONTEXT_ST *)context)->nodeObject);
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
as07520_