Implementieren Sie Ihre Benutzerexits auf dem Broker.
Sie können den Status des Benutzerexits für jeden einzelnen Nachrichtenfluss auf 'aktiv' oder 'inaktiv' setzen, ohne den Broker neu starten zu müssen.
So implementieren Sie den Benutzerexit:
- Installieren Sie den Benutzerexitcode auf einem Broker.
Die Bibliothek mit dem Benutzerexit-Code muss in einem Dateisystem installiert werden, auf das
der Broker zugreifen kann. Beispielsweise muss die Benutzer-ID, unter der der Broker ausgeführt
wird, über die Berechtigung zum Lesen und Ausführen der Datei verfügen. Der Broker sucht an
folgenden Orten nach Bibliotheken mit Benutzerexits:
- Die Brokereigenschaft UserExitPath definiert eine Liste von
Verzeichnissen, die durch Doppelpunkte (unter Windows durch Semikola) voneinander getrennt sind. Die Eigenschaft kann mit dem Attribut –x in den Befehlen
mqsicreatebroker und
mqsichangebroker für Ausführungsgruppen für
jeden Broker festgelegt werden.
- Alternativ können Sie das Verzeichnis, in dem sich das
Verzeichnis mit den Erweiterungsdateien befindet, an die Umgebungsvariable MQSI_USER_EXIT_PATH
anhängen, die der Umgebung zugeordnet ist, in welcher der Broker aktiv ist.
Wenn beide
festgelegt werden, hat die Umgebungsvariable Vorrang. Alle Verzeichnisse in der Umgebungsvariablen
werden in der Reihenfolge durchsucht, in der sie in der Variablen stehen; anschließend werden alle
in der Brokereigenschaft angegebenen Verzeichnisse in der Reihenfolge durchsucht, in der sie in der
Eigenschaft stehen.
- Laden Sie die Benutzerexit-Bibliothek in die Prozesse des Brokers.
Nachdem die Benutzerexit-Bibliothek auf dem Broker installiert wurde, muss sie auf eine der
folgenden Arten geladen werden:
- Den Broker stoppen und erneut starten.
- Führen Sie den Befehl mqsireload aus, um die
Ausführungsgruppenprozesse erneut zu starten.
- Aktivieren Sie den Benutzerexit.
Benutzerexits können aktiv oder inaktiv sein. Standardmäßig sind sie inaktiv. Indem Sie den
Befehl mqsichangeflowuserexits für jeden einzelnen
Nachrichtenfluss ändern, können Sie den Status eines Benutzerexit dynamisch ändern, ohne den Broker
erneut starten zu müssen. Sie können auch den Standardstatus für eine Gruppe von Benutzerexits für jeden einzelnen Broker in 'aktiv' ändern, indem Sie den Befehl
mqsichangebroker verwenden; in diesem Fall müssen Sie den Broker erneut starten.
So legen Sie den Standardstatus von Benutzerexits für einen Broker fest:
- Stoppen Sie den Broker.
- Legen Sie die Eigenschaft activeUserExits des Brokers mit dem Befehl
mqsichangebroker fest.
- Starten Sie den Broker und stellen Sie durch eine Überprüfung des Systemprotokolls sicher,
dass alle Ausführungsgruppen ohne Fehler gestartet werden. Wenn für einen Benutzerexit ein ungültiger Name angegeben wird (d. h., der Benutzerexit wird
nicht durch eine von der Ausführungsgruppe geladene Bibliothek bereitgestellt), wird die
Fehlernachricht BIP2314 in das Systemprotokoll geschrieben, und die
Nachrichtenflüsse in den Ausführungsgruppen können erst gestartet werden, nachdem Sie eine der
folgenden Aktionen ausgeführt haben:
- Stellen Sie im Benutzerexitpfad eine Bibliothek zum Implementieren des Exits bereit; führen Sie
dann den Befehl mqsireload aus, oder starten Sie
den Broker erneut, um einen Exit aus der Bibliothek zu laden.
- Führen Sie den Befehl mqsichangeflowuserexits
aus, um den Exit sowohl aus der Liste der aktiven als auch der Liste der inaktiven Exits zu
entfernen.
Sie können den Standardstatus von Benutzerexits für einen Broker auch überschreiben.
Mit dem
Befehl mqsichangeflowuserexits können Benutzerexits
für einzelne Ausführungsgruppen oder einzelne Nachrichtenflüsse aktiviert oder inaktiviert werden,
wobei Nachrichtenflüsse Vorrang vor Ausführungsgruppen haben. Wenn für einen bestimmten
Nachrichtenfluss mehrere Exits aktiv sind, werden sie vom Broker in der Reihenfolge gestartet, die
durch den Befehl mqsichangeflowuserexits festgelegt
wurde.