cniDispatchThread

Diese Funktion teilt einen neuen Nachrichtenfluss-Thread zu, der eine andere Thread-Instanz zur Ausführung des benutzerdefinierten Empfangsknotens des Nachrichtenflusses aufrufen soll. Dieser Nachrichtenfluss-Thread wird aus einem Thread-Pool zugeordnet, der für jeden Nachrichtenfluss verwaltet wird, unter der Steuerung der Eigenschaft Zusätzliche Instanzen des Nachrichtenflusses. Wenn keine Threads zur Verfügung stehen, da sie bereits alle verwendet werden, wird CCI_SUCCESS zurückgegeben, und als Wert für returnCode wird CCI_NO_THREADS_AVAILABLE festgelegt. Dies ist kein Fehler, sondern hat eine der folgenden Bedeutungen:
  • Der Nachrichtenfluss wurde nicht für die Ausführung mit zusätzlichen Threads konfiguriert.
  • Alle konfigurierten zusätzlichen Threads sind derzeit aktiv.

Die Funktion cniDispatchThread kann nur von einem Empfangsknoten aus ausgegeben werden. Wenn sie zu einem anderen Zeitpunkt ausgegeben wird, wird CCI_FAILURE zurückgegeben, und als Wert für returnCode wird CCI_INV_NODE_ENV festgelegt.

Syntax

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

Parameter

returnCode
Der Rückkehrcode aus der Funktion (Ausgabe). Mögliche Rückkehrcodes sind:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_NO_THREADS_AVAILABLE
  • CCI_INV_NODE_OBJECT
  • CCI_INV_NODE_ENV
nodeObject
Die Adresse des Knotenobjekts, das ausgeführt wird, wenn WebSphere Message Broker den Thread erstellt oder wiederverwendet. Diese wird an den Knoten übermittelt, wenn seine Implementierungsfunktion cniCreateNodeContext aufgerufen wird (Eingabe).

Rückgabewerte

  • Wenn ein Thread erfolgreich zugeordnet wurde, wird CCI_SUCCESS zurückgegeben, und als Wert für returnCode wird CCI_SUCCESS zurückgegeben.
  • Wenn ein Thread nicht zugeteilt werden konnte, da im Thread-Pool des Nachrichtenflusses nicht genügend Threads vorhanden waren, um die Anforderung zu erfüllen, wird CCI_SUCCESS zurückgegeben, und als Wert fürreturnCode wird CCI_NO_THREADS_AVAILABLE festgelegt.
  • Wenn die Funktion nicht von einem Empfangsknoten aus ausgegeben wurde, wird CCI_FAILURE zurückgegeben, und als Wert für returnCode wird CCI_INV_NODE_ENV festgelegt.
  • Bei anderen Fehlerbedingungen wird CCI_FAILURE zurückgegeben, und returnCode gibt die Fehlerursache an.

Beispiel

cniDispatchThread(&rcDispatch, ((NODE_CONTEXT_ST *)context)->nodeObject);
Zugehörige Konzepte
Benutzerdefinierte Empfangsknoten
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 18.05.2006
as07520_