Das Beispielprogramm 'Error Handler' konfigurieren
Wenn Sie das Beispielprogramm 'Error Handler' importiert haben, müssen Sie es für die Verwendung der Transaktionalität konfigurieren, bevor Sie das Beispielprogramm auf dem Broker implementieren können.
Gehen Sie folgendermaßen vor, um das Beispielprogramm 'Error Handler' zur Verwendung von Transaktionalität zu konfigurieren:
- Konfigurieren Sie ODBC (nur Linux)
- Aktivieren Sie die Transaktionalität mit DB2 (Windows und Linux)
- Aktivieren Sie die Transaktionalität in WebSphere MQ (Windows und Linux):
- Implementieren Sie das Beispielprogramm auf dem Broker (Windows und Linux)
Die ODBC-Treiber unter Linux konfigurieren
Dieser Schritt muss unter Linux, jedoch nicht unter Windows ausgeführt werden. Überspringen Sie diesen Schritt, wenn Sie nur mit Windows arbeiten.
Gehen Sie folgendermaßen vor, um ODBC-Treiber unter Linux zu konfigurieren:
- Öffnen Sie die Datei /var/mqsi/odbc/.odbc.ini in einem Texteditor.
- Suchen Sie in der Datei '.odbc.ini' nach der Zeile [ODBC Data Source], und fügen Sie die folgenden Zeilen darunter ein:
ERRORDB= IBM DB2 ODBC Driver
STAFFDB= IBM DB2 ODBC Driver
- Fügen Sie die folgenden Zeilengruppen zur '.odbc.ini'-Datei hinzu:
[ERRORDB]
Driver=/opt/IBM/db2/V8.1/lib/libdb2.so
Description=ERRORDB DB2 ODBC Database
Database=ERRORDB
[STAFFDB]
Driver=/opt/IBM/db2/V8.1/lib/libdb2.so
Description=STAFFDB DB2 ODBC Database
Database=STAFFDB
Die ODBC-Treiber sind jetzt korrekt konfiguriert.
Transaktionalität mit DB2 aktivieren
So konfigurieren Sie DB2 zur Verwendung mit Transaktionalität:
- Starten Sie die DB2-Steuerzentrale:
- Klicken Sie unter Windows auf Start > Programme > IBM DB2 > Allgemeine Verwaltungstools > Steuerzentrale
- Geben Sie unter Linux in der Befehlszeile Folgendes ein: db2cc
- Erweitern Sie in der Navigationsstruktur Alle Systeme > Systemname > Instanzen > DB2. Dabei ist Systemname der Name Ihres Computers und DB2 der Name der Datenbankinstanz. Unter Windows wird für DB2 normalerweise DB2 verwendet; unter Linux wird für DB2 für gewöhnlich db2inst1 verwendet.
- Klicken Sie mit der rechten Maustaste auf DB2, und klicken Sie anschließend auf Parameter konfigurieren... Daraufhin wird der Dialog für die DBM-Konfiguration geöffnet.
- Blättern Sie im Dialog für die DBM-Konfiguration bis zum Abschnitt Umgebung. Klicken Sie in der Spalte für das Schlüsselwort auf TP_MON_NAME.
- Klicken Sie für TP_MON_NAME auf die Zelle in der Wertspalte, und klicken Sie anschließend in derselben Zelle auf die Auslassungspunkte (...). Daraufhin wird der Dialog zur Änderung der DBM-Konfigurationsparameter geöffnet.
- Klicken Sie in diesem Dialog in der Liste mit den Namen der Transaktionsprozessormonitore auf IBM MQSeries und anschließend auf OK.
- Klicken Sie auf OK, um den DBM-Konfigurationsdialog zu schließen. Sie werden in einer Nachricht zum Neustart von DB2 aufgefordert: Klicken Sie auf Schließen, um die Nachricht zu schließen.
- Klicken Sie in der Navigationsstruktur mit der rechten Maustaste auf DB2 und anschließend auf Stoppen. Sie müssen in einem Dialog bestätigen, dass Sie DB2 stoppen und die Verbindung aller Anwendungen trennen möchten, die gerade auf eine DB2-Datenbank zugreifen. Klicken Sie auf OK, um fortzufahren. Warten Sie dann, bis DB2 gestoppt wird.
- Klicken Sie in der Navigationsstruktur mit der rechten Maustaste auf DB2 und anschließend aufStarten. Warten Sie dann, bis DB2 erneut gestartet wird.
Transaktionalität in WebSphere MQ Version 6.0 aktivieren
Definieren Sie die STAFFDB-Datenbank als XA-Ressourcenmanager für den Warteschlangenmanager des Brokers. Der Warteschlangenmanager des Brokers agiert als Transaktionsmanager. Die Schritte zur Konfiguration des Warteschlangenmanagers sind anders als bei der Verwendung von WebSphere MQ Version 5.3.
Gehen Sie wie folgt vor, um die STAFFDB-Datenbank als XA-Ressourcenmanager zu definieren:
- Kopieren Sie die DB2-Switch-Datei von der WebSphere Message Broker-Installation in die WebSphere MQ V6.0-Installation:
- Kopieren Sie unter Windows die Datei db2swit.dll aus dem Verzeichnis Installationsverzeichnis\sample\xatm in das Verzeichnis MQ_Installationsverzeichnis\exits, wobei Installationsverzeichnis für den Pfad steht, in dem WebSphere Message Broker installiert ist, und MQ_Installationsverzeichnis für den Pfad, in dem WebSphere MQ V6.0 installiert ist.
- Kopieren Sie unter Linux die Datei db2swit aus dem Verzeichnis Installationsverzeichnis/sample/xatm in das Verzeichnis /var/mqm/exits, wobei Installationsverzeichnis für den Pfad steht, in dem WebSphere Message Broker installiert ist.
Damit die DB2-Switch-Datei ordnungsgemäß funktioniert, muss DB2 in seinem Standardverzeichnis installiert sein.
- Konfigurieren Sie den Warteschlangenmanager WBRK6_DEFAULT_QUEUE_MANAGER des Brokers so, dass der neue Ressourcenmanager STAFFDB hinzugefügt wird:
- Starten Sie WebSphere MQ Explorer:
- Klicken Sie unter Windows auf Start > Programme > IBM WebSphere MQ > WebSphere MQ Explorer.
- Geben Sie unter Linux in der Befehlszeile den Befehl strmqcfg ein.
- Erweitern Sie in der Navigatoranzeige im WebSphere MQ Explorer die Baumstruktur zur Anzeige des Warteschlangenmanagers WBRK6_DEFAULT_QUEUE_MANAGER des Brokers.
- Klicken Sie mit der rechten Maustaste auf WBRK6_DEFAULT_QUEUE_MANAGER und anschließend auf Eigenschaften. Daraufhin wird der Eigenschaftendialog des WS-Managers geöffnet.
- Klicken Sie auf der Seite XA-Ressourcenmanager auf Hinzufügen.... Geben Sie anschließend die Details in der folgenden Tabelle ein.
Feldname |
Wert |
Name |
DB2 Error Handler |
Switch-Datei |
db2swit |
XAOpenString |
STAFFDB,Benutzer-ID,Kennwort,toc=t
Dabei steht Benutzer-ID für Ihren WebSphere Message Broker-Benutzernamen und Kennwort für das zugeordnete Kennwort. |
XACloseString
|
Für DB2 ist keine XA-Schlusszeichenfolge erforderlich. |
Steuerungsthread |
Klicken Sie in der Liste auf Thread. |
- Stoppen und starten Sie den Warteschlangenmanager des Brokers. Klicken Sie in WebSphere MQ Explorer mit der rechten Maustaste auf WBRK6_DEFAULT_QUEUE_MANAGER. Klicken Sie anschließend auf Stoppen; klicken Sie mit der rechten Maustaste auf WBRK6_DEFAULT_QUEUE_MANAGER und anschließend auf Starten. Stellen Sie sicher, dass der WS-Manager ohne Fehler gestartet wird.
Die STAFFDB-Datenbank wird als XA-Ressourcenmanager für den Warteschlangenmanager WBRK6_DEFAULT_QUEUE_MANAGER des Brokers definiert.
Transaktionalität in WebSphere MQ Version 5.3 aktivieren
Definieren Sie die STAFFDB-Datenbank als XA-Ressourcenmanager für den Warteschlangenmanager des Brokers. Der Warteschlangenmanager des Brokers agiert als Transaktionsmanager. Die Schritte zur Konfiguration des Warteschlangenmanagers sind anders als bei der Verwendung von WebSphere MQ Version 6.0. In WebSphere MQ Version 5.3 gibt es außerdem keine grafische Entsprechung zum WebSphere MQ Explorer, sodass Sie die INI-Datei des Warteschlangenmanagers direkt bearbeiten müssen, wie in den folgenden Anweisungen beschrieben.
Gehen Sie wie folgt vor, um die STAFFDB-Datenbank als XA-Ressourcenmanager zu definieren:
- Kopieren Sie die DB2-Switch-Datei von der WebSphere Message Broker-Installation in die WebSphere MQ V6.0-Installation:
- Kopieren Sie unter Windows die Datei db2swit.dll aus dem Verzeichnis Installationsverzeichnis\sample\xatm in das Verzeichnis MQ_Installationsverzeichnis\exits, wobei Installationsverzeichnis für den Pfad steht, in dem WebSphere Message Broker installiert ist, und MQ_Installationsverzeichnis für den Pfad, in dem WebSphere MQ V6.0 installiert ist.
- Kopieren Sie unter Linux die Datei db2swit aus dem Verzeichnis Installationsverzeichnis/sample/xatm in das Verzeichnis /var/mqm/exits, wobei Installationsverzeichnis für den Pfad steht, in dem WebSphere Message Broker installiert ist.
Damit die DB2-Switch-Datei ordnungsgemäß funktioniert, muss DB2 in seinem Standardverzeichnis installiert sein.
- Konfigurieren Sie den Warteschlangenmanager WBRK6_DEFAULT_QUEUE_MANAGER des Brokers so, dass der neue Ressourcenmanager STAFFDB hinzugefügt wird:
- Unter Windows:
- Starten Sie das WebSphere MQ Services-Snap-in: Start > Programme > IBM WebSphere MQ > WebSphere MQ Services
- Erweitern Sie in der Navigatoranzeige im WebSphere MQ Explorer die Baumstruktur zur Anzeige des Warteschlangenmanagers WBRK6_DEFAULT_QUEUE_MANAGER des Brokers.
- Klicken Sie mit der rechten Maustaste auf WBRK6_DEFAULT_QUEUE_MANAGER und anschließend auf Eigenschaften. Daraufhin wird der Eigenschaftendialog des WS-Managers geöffnet.
- Klicken Sie auf der Seite Ressourcen auf Neu. Geben Sie anschließend die Details in der folgenden Tabelle ein.
Feldname |
Wert |
Name |
DB2 Error Handler |
Switch-Datei |
Installationsverzeichnis\sample\xatm\db2swit.dll
Dabei steht Installationsverzeichnis für das Verzeichnis, in dem WebSphere MQ V5.3 installiert wird. |
XAOpenString
|
STAFFDB,Benutzer-ID,Kennwort
Dabei steht Benutzer-ID für Ihren WebSphere Message Broker-Benutzernamen und Kennwort für das zugeordnete Kennwort. |
XACloseString
|
Für DB2 ist keine XA-Schlusszeichenfolge erforderlich. |
Steuerungsthread |
Wählen Sie für DB2-Versionen vor Version 8 Process (Prozess) und für alle anderen Thread aus. |
- Stoppen und starten Sie den Warteschlangenmanager des Brokers. Klicken Sie in WebSphere MQ Services mit der rechten Maustaste auf WBRK6_DEFAULT_QUEUE_MANAGER. Klicken Sie anschließend auf Stoppen; klicken Sie mit der rechten Maustaste auf WBRK6_DEFAULT_QUEUE_MANAGER und anschließend auf Starten. Stellen Sie sicher, dass der WS-Manager ohne Fehler gestartet wird.
- Unter Linux:
- Öffnen Siedie Datei '/var/mqm/mqs.ini', um sie zu bearbeiten, und fügen Sie die folgende Zeilengruppe hinzu:
XAResourceManager:
Name=DB2 Error Handler
SwitchFile=Installationsverzeichnis/sample/xatm/db2swit
XAOpenString=STAFFDB,Benutzer-ID,Kennwort
ThreadOfControl=PROCESS | THREAD
Hierbei steht Installationsverzeichnis für den Pfad, in dem WebSphere Message Broker installiert wurde. Wenn die DB2-Version älter als Version 8 ist, geben Sie PROCESS ein, andernfalls THREAD.
- Stoppen und starten Sie den Warteschlangenmanager des Brokers.
Die STAFFDB-Datenbank wird als XA-Ressourcenmanager für den Warteschlangenmanager WBRK6_DEFAULT_QUEUE_MANAGER des Brokers definiert.
Das Beispielprogramm 'Error Handler' in den Broker implementieren
- Wechseln Sie im Message Brokers Toolkit zur Perspektive
'Brokerverwaltung'.
- Erstellen Sie eine neue Brokerarchivdatei (BAR), und fügen Sie ihr Main_Flow.msgflow hinzu:
- Klicken Sie in der Brokerverwaltungsansicht auf Datei > Neu > Nachrichtenbrokerarchiv. Daraufhin wird der Assistent für neue Nachrichtenbrokerarchive geöffnet.
- Wählen Sie im Assistenten für neue Nachrichtenbrokerarchive das Serverprojekt aus, und geben Sie für die BAR-Datei einen Namen ein. Klicken Sie anschließend auf Fertig stellen. Daraufhin wird die neue BAR-Datei erstellt und im Brokerarchiveditor geöffnet.
- Klicken Sie im Brokerarchiveditor auf die Schaltfläche Hinzufügen. Daraufhin wird der Dialog zum Hinzufügen in das Brokerarchiv geöffnet.
- Klicken Sie in diesem Dialog auf das Projekt Error Handler Message Flows, und wählen Sie dann Main_Flow.msgflow aus. Klicken Sie auf OK. Die Datei 'Main_Flow.msgflow' wird zur BAR-Datei hinzugefügt.
- Konfigurieren Sie den Nachrichtenfluss so, dass er als koordinierte Transaktion ausgeführt wird:
- Klicken Sie auf die Registerkarte unten im Brokerarchiveditor Konfigurieren aus, um auf die Seite zum Konfigurieren umzuschalten.
- Klicken Sie auf Main_Flow.cmf, um diese Datei zu markieren.
- Wählen Sie das Markierungsfeld Koordinierte Transaktion aus.
- Klicken Sie auf die Registerkarte Inhalt, um zur Hauptseite im Editor zurückzukehren.
- Drücken Sie Ctrl+S, um die BAR-Datei zu speichern.
- Vergewissern Sie sich, dass das Message Brokers Toolkit mit dem Konfigurationsmanager verbunden ist.
- Erstellen Sie in der Domänenansicht eine neue Ausführungsgruppe namens ErrorHandler.
- Klicken Sie im Navigator der Brokerverwaltung mit der rechten Maustaste auf die von Ihnen erstellte BAR-Datei, und klicken Sie anschließend auf Datei implementieren.... Daraufhin wird der Dialog zur Implementierung einer BAR-Datei angezeigt.
- Klicken Sie im Dialog zur Implementierung einer BAR-Datei auf die Ausführungsgruppe ErrorHandler und anschließend auf OK. Die Datei 'Main_Flow.msgflow' wird im Broker implementiert.
Sie können jetzt das Beispielprogramm 'Error Handler' ausführen. Siehe Das Beispielprogramm ausführen.
Zurück zum Beginn des Beispielprogramms