cniDispatchThread

Diese Funktion teilt einen neuen Nachrichtenflussthread zu, um eine weitere Threadinstanz aufzurufen, um den benutzerdefinierten Nachrichtenflussempfangsknoten auszuführen. Dieser Nachrichtenflussthread wird von einer Gruppe von Threads für jeden Nachrichtenfluss unter Kontrolle der Eigenschaft Zusätzliche Instanzen des Nachrichtenflusses zugewiesen. Falls keine Threads verfügbar sind, da sie alle verwendet werden, wird CCI_SUCCESS zurückgegeben, und returnCode wird auf CCI_NO_THREADS_AVAILABLE gesetzt. Dies ist kein Fehler, sondern hat die folgende Bedeutung:
  • Der Nachrichtenfluss wurde nicht für die Ausführung bei zusätzlichen Threads konfiguriert.
  • Alle zusätzlichen konfigurierten Threads sind derzeit aktiv.

Die Funktion cniDispatchThread kann nur von einem Empfangsknoten ausgegeben werden. Wird sie zu einem anderen Zeitpunkt ausgegeben, wird CCI_FAILURE zurückgegeben, und returnCode wird auf CCI_INV_NODE_ENV eingestellt.

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. Es wird an den Knoten übermittelt, wenn die Implementierungsfunktion cniCreateNodeContext aufgerufen wird (Eingabe).

Rückgabewerte

  • Wurde ein Thread erfolgreich zugewiesen, wird CCI_SUCCESS zurückgegeben, und returnCode wird auf CCI_SUCCESS gesetzt.
  • Konnte ein Thread nicht zugeteilt werden, da nicht genügend Threads in der Nachrichtenfluss-Threadgruppe vorhanden waren, um die Anforderung zu erfüllen, wird CCI_SUCCESS ausgegeben, und returnCode wird auf CCI_NO_THREADS_AVAILABLE gesetzt.
  • Falls die Funktion nicht von innerhalb eines Empfangsknotens ausgegeben wurde, wird CCI_FAILURE ausgegeben, und returnCode wird auf CCI_INV_NODE_ENV gesetzt.
  • Bei jeglichen anderen Fehlerbedingungen wird CCI_FAILURE ausgegeben, und returnCode gibt den Grund für den Fehler 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: 23. Aug. 2006
as07520_