Wenn die Datenbank, auf die Sie über eine JDBC-Verbindung des
Typs 4 zugreifen, an global koordinierten Transaktionen teilnehmen soll, richten Sie die
entsprechende Umgebung ein.
Datenbankaktualisierungen über eine JDBC-Verbindung vom Typ 4 können mit anderen Aktionen innerhalb des Nachrichtenflusses koordiniert werden, wenn Sie die Ressourcen entsprechend für eine solche Koordination konfigurieren.
Gehen Sie wie folgt vor:
- Überprüfen Sie, ob die Definition für Ihren JDBCProvider-Service für koordinierte
Transaktionen geeignet ist.
Gehen Sie beispielsweise wie folgt vor, um die erforderlichen JDBC-Klassen einzurichten:
- Legen Sie bei DB2 für type4DatasourceClassName den Wert com.ibm.db2.jcc.DB2XADataSource und für type4DriverClassName den Wert com.ibm.db2.jcc.DB2Driver fest.
- Legen Sie bei Oracle für type4DatasourceClassName den Wert oracle.jdbc.xa.client.OracleXADataSource und für type4DriverClassName den Wert oracle.jdbc.OracleDriver fest.
Wenden Sie sich an den Datenbankadministrator, oder schlagen Sie in der vom Datenbankanbieter bereitgestellten Dokumentation nach, um sicherzustellen, dass alle Eigenschaften für den
JDBCProvider-Service korrekt festgelegt sind. Es kann beispielsweise sein, dass ein
Datenbankanbieter sicheren Zugriff fordert, wenn die Datenbank an koordinierten Transaktionen
teilnimmt.
- Definieren Sie die Switchdatei und die Datenbankeigenschaften:

Öffnen Sie auf Linux- und UNIX-Systemen die Datei qm.ini für den Warteschlangenmanager des Brokers in einem Texteditor. Fügen Sie für jede Datenbank folgende
Zeilengruppe hinzu: XAResourceManager:
Name=Datenbankname
SwitchFile=JDBCSwitch
XAOpenString=JDBC_Datenquelle
ThreadOfControl=THREAD
Datenbankname steht für den Datenbanknamen (DSN) der für den konfigurierbaren
JDBCProvider-Service definierten Datenbank (angegeben beispielsweise durch -n databaseName
-v Datenbankname in dem Befehl
mqsichangeproperties).
JDBCSwitch ist ein fester generischer Name für die Switchdatei zur XA-Koordination.
Verwenden Sie diesen bzw. einen anderen einzelnen festen Wert in jeder Zeilengruppe. Die spezielle vom Warteschlangenmanager verwendete Switchdatei wird durch die im nächsten Schritt erstellten symbolischen Verbindungen definiert.
JDBC_Datenquelle steht für die ID des konfigurierbaren JDBCProvider-Service
(der für den Parameter -o im Befehl
mqsichangeproperties angegebene Wert).
Definieren Sie für jede Datenbank (DSN), zu der von diesem Broker aus eine Verbindung hergestellt wird, eine Zeilengruppe.
Separate Definitionen sind selbst dann erforderlich, wenn die DSNs in dieselbe physische Datenbank aufgelöst werden. Deshalb muss für jeden JDBCProvider-Service, den Sie
definiert haben, eine Zeilengruppe vorhanden sein, da jeder Service die Eigenschaften für eine
einzelne Datenbank definieren kann.
Öffnen Sie auf einem Windows/x64-System WebSphere MQ Explorer und wählen Sie den Warteschlangenmanager für Ihren Broker aus (z. B. BROKERQM). Öffnen Sie die Seite XA-Ressourcenmanager und ändern Sie die Attribute,
um die Definition der Datenbank zu erstellen.
Die Attribute sind dieselben wie bei
Linux und UNIX; Name, SwitchFile, XAOpenString,
und ThreadofControl. Lassen Sie das zusätzliche Attribut
XACloseString leer.
Geben Sie für SwitchFile den vollständig qualifizierten Dateinamen ein: Installationsverzeichnis\bin\JDBCSwitch.dll.
Öffnen Sie auf einem Windows/x86-64-System WebSphere MQ Explorer und wählen Sie den Warteschlangenmanager für Ihren Broker aus (z. B. BROKERQM). Öffnen Sie die Seite XA-Ressourcenmanager und ändern Sie die Attribute,
um die Definition der Datenbank zu erstellen. Die Attribute sind dieselben wie bei
Linux und UNIX; Name, SwitchFile, XAOpenString,
und ThreadofControl. Lassen Sie das zusätzliche Attribut
XACloseString leer.
Geben Sie JDBCSwitch in SwitchFile ein.
- Richten Sie Warteschlangenmanagerzugriff auf die Switchdatei ein.

Erstellen Sie unter Linux und
UNIX-Systeme eine symbolische Verbindung zu den Switchdateien
im Verzeichnis Installationsverzeichnis/lib. Installationsverzeichnis ist das Verzeichnis, indem Sie die
Brokerkomponente installiert haben. Die Standardposition für
dieses Verzeichnis lautet /opt/ibm/mqsi/v.r.m.f unter
Linux beziehungsweise
/opt/IBM/mqsi/v.r.m.f unter
UNIX-Systeme. Das Standardverzeichnis enthält Version, Release, Modifikationsstufe und Fix-Level des Produkts im Format v.r.m.f
(version.release.modifikation.fix).
Richten Sie im Verzeichnis /var/mqm/exits und/oder im Verzeichnis /var/mqm/exits64 Verknüpfungen ein. Die Dateinamen für die einzelnen Plattformen sind in der folgenden Tabelle aufgeführt.
Plattform |
32-Bit-Datei |
64-Bit-Datei |
AIX
|
|
libJDBCSwitch.so |
HP-Itanium
|
|
libJDBCSwitch.so |
Linux on POWER
|
|
libJDBCSwitch.so |
Linux on System
z
|
|
libJDBCSwitch.so |
Linux on x86
|
libJDBCSwitch.so |
|
Linux on
x86-64
|
|
libJDBCSwitch.so |
Solaris on SPARC
|
|
libJDBCSwitch.so |
Solaris
on x86-64
|
|
libJDBCSwitch.so |
Geben Sie sowohl im Verzeichnis /exits als auch im Verzeichnis /exits64 denselben Namen der Switchdatei, JDBCSwitch oder einen eigenen Wert an.
Ein Beispiel
für AIX:
ln -s Installationsverzeichnis/lib/libJDBCSwitch.so /var/mqm/exits/JDBCSwitch
und
ln -s Installationsverzeichnis/lib/libJDBCSwitch.so /var/mqm/exits64/JDBCSwitch
Kopieren Sie für die 32-Bit-Version von WebSphere Message
Broker unter Windows die Datei
JDBCSwitch.dll aus dem Verzeichnis Installationsverzeichnis\bin in das Unterverzeichnis \exits des WebSphere MQ-Installationsverzeichnisses.
Kopieren Sie für die 64-Bit-Version von WebSphere Message
Broker unter Windows die Datei JDBCSwitch32.dll aus dem Verzeichnis Installationsverzeichnis\bin in das Unterverzeichnis \exits des WebSphere MQ-Installationsverzeichnisses und benennen Sie die Datei in JDBCSwitch.dll um. Kopieren Sie dann die Datei JDBCSwitch.dll aus dem Verzeichnis Installationsverzeichnis\bin in das Unterverzeichnis \exits64 des WebSphere MQ-Installationsverzeichnisses.
- Konfigurieren Sie den Nachrichtenfluss, der einen oder mehrere Knoten enthält, die auf
Datenbanken zugreifen, die an einer global koordinierten Transaktion teilnehmen.
- Öffnen Sie eine WebSphere Message
Broker Toolkit-Sitzung.
- Wechseln Sie in die Ansicht 'Brokeranwendungsentwicklung'.
- Fügen Sie den Nachrichtenfluss hinzu, der den oder die Knoten enthält, die eine Verbindung zu der Datenbank herstellen, die an einer global koordinierten Transaktion zu einer neuen oder bestehenden Brokerarchivdatei teilnehmen soll.
- Erstellen Sie die Brokerarchivdatei.
- Klicken Sie auf die Registerkarte Konfigurieren, wählen Sie den hinzugefügten Nachrichtenfluss aus und markieren Sie das Kontrollkästchen Koordinierte Transaktion.