Mustercode 'Address Book' für JMS-Transport konfigurieren
In diesem Mustercode fungiert WebSphere MQ als JMS-Provider, d. h., die verwalteten Objekte
müssen mit dem Tool JMSAdmin erstellt werden.
Wenn der Mustercode unter Linux ausgeführt wird, muss
dem Klassenpfad die Klasse 'JMSAdmin' hinzugefügt werden. Fügen Sie dem Klassenpfad folgende Datei hinzu:
<MQ_Installationsverzeichnis>/java/lib/com.ibm.mqjms.jar
Schließen Sie in Ihren Klassenpfad folgende Datei ein, um die Java-Speicherposition Ihrer PATH-Variablen hinzuzufügen:
<JAVA_HOME>/bin
Verwaltete Objekte mit dem Tool JMSAdmin erstellen
WebSphere MQ wird im Verzeichnis MQ_Installationsverzeichnis
installiert.
Das Tool JMSAdmin und die JMSAdmin-Konfigurationsdatei befinden sich unter Linux im
Pfad MQ_Installationsverzeichnis/java/bin und unter Windows im Pfad
MQ_Installationsverzeichnis\java\bin.
Im Projekt 'Address Book Sample Flow' müssen Sie die Datei
AddressBookSample.defs mit dem Tool JMSAdmin verwenden.
Bevor Sie das Tool JMSAdmin verwenden können, muss die Datei
JMSAdmin.config gemäß den folgenden Anweisungen geändert werden.
Datei JMSAdmin.config ändern
So ändern Sie die Datei JMSAdmin.config:
- Öffnen Sie in einem Texteditor die Datei JMSAdmin.config.
- Setzen Sie alle Optionen, die nicht erforderlich sind, auf Kommentar, indem Sie ein
Nummernzeichen (#) hinzufügen. Entfernen Sie die Kommentarzeichen für alle erforderlichen Optionen,
indem Sie das Nummernzeichen (#) löschen.
# The following line specifies which JNDI service provider is in use.
# It currently indicates a File System Context. If a different
# service provider is used, this line must be commented out and the
# appropriate one must be uncommented.
#
# com.sun.jndi.fscontext.RefFSContextFactory is the FileSystem JNDI Context
#
#INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory
INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
#INITIAL_CONTEXT_FACTORY=com.ibm.ejs.ns.jndi.CNInitialContextFactory
#INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory
#
# The following line specifies the URL of the initial
# context for the service provider. It currently refers to a File System Context.
# Examples of an LDAP root context URL and the JNDI namespace
# for WebSphere are also shown, commented out.
#
#PROVIDER_URL=ldap://localhost/o=ibm,c=us
PROVIDER_URL=file:/C:/SOAPJNDIBindings
#PROVIDER_URL=iiop://localhost/
- Speichern Sie die Datei und erstellen Sie anschließend das Verzeichnis für JNDI-Directory wie in der Zeile 'PROVIDER_URL' angegeben.
Sie können jetzt die Objekte erstellen.
Objekte erstellen
Erstellen Sie die von JNDI verwalteten Objekte, um die im Mustercode verwendeten JMS-Verbindungsfactorys und Ziele zu konfigurieren, indem Sie das WebSphere MQ-Tool 'JMSAdmin' ausführen.
Das Tool 'JMSAdmin' verwendet die Datei AddressBookSample.defs als
Eingabedatei.
Zum Erstellen der Objekte wird das Tool 'JMSAdmin' ausgeführt und die Datei AddressBookSample.defs dabei als Eingabedatei verwendet.
Geben Sie folgende Befehle in der Befehlszeile ein:
- Unter Windows:
cd MQ-Installationsverzeichnis\java\bin
JMSAdmin < "Arbeitsbereichspfad\AddressBook\AddressBookSample.defs"
- Unter Linux:
cd MQ-Installationsverzeichnis/java/bin
./setjmsenv
./JMSAdmin < Arbeitsbereichspfad/AddressBook/AddressBookSample.defs
WebSphere MQ wird in der Position MQ-Installationsverzeichnis installiert und Arbeitsbereichspfad ist der vollständige Pfad des Arbeitsbereichsverzeichnisses von WebSphere Message Broker Toolkit.
Die Objekte und die BINDINGS-Datei (.bindings) werden erstellt.
SOAP-Knoten für JMS konfigurieren
- Öffnen Sie den Nachrichtenfluss
AddressBook.AddressBookProviderFlow.msgflow im Nachrichtenflusseditor.
- Klicken Sie mit der rechten Maustaste auf den Knoten SOAP Input im Nachrichtenfluss und klicken Sie auf Eigenschaften, um die Ansicht 'Eigenschaften' aufzurufen.
- Wählen Sie in der Ansicht 'Eigenschaften' die Registerkarte Grundeinstellung aus.
- Der Wert im Feld Imported binding (Importierte Bindung) ist auf
AddressBookPortBinding und der Wert für die Eigenschaft
Transport ist auf HTTP gesetzt. Ändern Sie in
der Dropdown-Liste den Wert für Imported binding in
AddressBookJMSBinding.
Der Wert der Eigenschaft Transport wird in JMS geändert.
- Öffnen Sie den Nachrichtenfluss AddressBook.AddressBookConsumerFlow.msgflow im Nachrichtenflusseditor, um den SOAPRequest-Knoten für den JMS-Transport zu konfigurieren.
- Klicken Sie mit der rechten Maustaste auf den SOAPRequest-Knoten 'findAddress' im Nachrichtenfluss und klicken Sie anschließend auf Eigenschaften, um die Ansicht 'Eigenschaften' aufzurufen.
- Wählen Sie in der Ansicht 'Eigenschaften' die Registerkarte Grundeinstellung aus.
- Der Wert im Feld Imported binding (Importierte Bindung) ist auf
AddressBookPortBinding gesetzt. Ändern Sie in
der Dropdown-Liste den Wert für Imported binding in
AddressBookJMSBinding.
- Ändern Sie den Wert für die Eigenschaft Bindungsoperation in FindAddress.
- Stellen Sie sicher, dass die Eigenschaft Transport auf den Wert
JMS gesetzt ist.
- Wählen Sie im Nachrichtenfluss den SOAPRequest-Knoten 'saveAddress' aus und wechseln Sie zur Ansicht 'Eigenschaften'.
- Wählen Sie in der Ansicht 'Eigenschaften' die Registerkarte Grundeinstellung aus.
- Der Wert im Feld Imported binding (Importierte Bindung) ist auf
AddressBookPortBinding gesetzt. Ändern Sie in
der Dropdown-Liste den Wert für Imported binding in
AddressBookJMSBinding.
- Ändern Sie den Wert für die Eigenschafte Binding Operation in
SaveAddress.
- Stellen Sie sicher, dass die Eigenschaft Transport auf den Wert
JMS gesetzt ist.
JNDI-Pfad in den Nachrichtenflüssen konfigurieren
- Unter Windows:
Die SOAP-Knoten sind bereits mit der Position der JMS-Bindungsdatei (.bindings) konfiguriert.
Wenn Sie jedoch eine JMS-Bindungsdatei an einer anderen Position erstellt haben, müssen Sie die
SOAP-Knoten rekonfigurieren, indem Sie die andere Position der Bindungsdatei angeben. Führen Sie die Schritte im folgenden Abschnitt aus: "SOAP-Knoten mit der Position der JMS-Bindungsdatei konfigurieren."
- Unter Linux:
Stellen Sie sicher, dass die SOAP-Knoten in den Nachrichtenflüssen die Position der von Ihnen erstellen JMS-Bindungsdatei kennen, indem Sie die Schritte im Abschnitt "SOAP-Knoten mit der Position der JMS-Bindungsdatei konfigurieren." befolgen.
SOAP-Knoten mit der Position der JMS-Bindungsdatei konfigurieren:
- Öffnen Sie den Nachrichtenfluss
AddressBook.AddressBookProviderFlow.msgflow im Nachrichtenflusseditor.
- Klicken Sie mit der rechten Maustaste auf den SOAPInput-Knoten im Nachrichtenfluss und klicken Sie anschließend auf Eigenschaften, um die Ansicht 'Eigenschaften' aufzurufen.
- Wählen Sie in der Ansicht 'Eigenschaften' die Registerkarte JMS-Transport aus.
- Geben Sie im Feld JNDI-URL-Bindungen für Speicherposition den
Pfad ein, der in der Datei JMSAdmin.config in der Zeile PROVIDER_URL
angegeben ist.
- Unter Linux: Geben Sie file:///home/Benutzer/SOAPJNDIBindings ein, wobei Benutzer für den Benutzernamen steht, unter dem Sie den Broker ausgeführt haben.
- Unter Windows: Wenn Sie die Position der JMS-Bindungsdatei geändert haben, geben Sie die neue Position ein; andernfalls lassen Sie den Wert file:/C:/SOAPJNDIBindings unverändert.
- Stellen Sie sicher, dass der in den Knoteneigenschaften eingegebene Pfad mit dem in der Datei
JMSAdmin.config angegebenen Pfad übereinstimmt. Wenn die beiden Pfadangaben
nicht übereinstimmen, funktionieren die Nachrichtenflüsse nicht.
- Speichern Sie den Nachrichtenfluss.
- Öffnen Sie den Nachrichtenfluss AddressBook.AddressBookConsumerFlow.msgflow im Nachrichtenflusseditor, um die SOAPRequest-Knoten wie oben beschrieben mit der Position der JMS-Bindungsdatei zu konfigurieren.
- Die Nachrichtenflüsse sind jetzt konfiguriert und können für den Broker implementiert
werden.
BAR-Datei erneut erstellen und Nachrichtenflüsse implementieren
Erstellen Sie zum Implementieren der geänderten Nachrichtenflüsse 'AddressBookConsumerFlow' und 'AddressBookProviderFlow' eine neue Brokerarchivdatei (BAR-Datei), die beide Nachrichtenflüsse enthält.
BAR-Datei erstellen:
- Doppelklicken Sie auf die BAR-Datei: AddressBook.AddressSampleConsumer.bar.
- Klicken Sie in der Registerkarte Verwalten auf Erstellen, um die BAR-Datei erneut zu erstellen.
- Speichern Sie die neue BAR-Datei.
- Doppelklicken Sie auf die BAR-Datei: AddressBook.AddressSampleProvider.bar.
- Klicken Sie in der Registerkarte Verwalten auf Erstellen, um die BAR-Datei erneut zu erstellen.
- Speichern Sie die neue BAR-Datei.
- Klicken Sie in der Ansicht 'Broker' auf die BAR-Datei und ziehen Sie jede BAR-Datei einzeln in die standardmäßige Ausführungsgruppe in der Brokeransicht.
Dadurch werden die Nachrichtenflüsse auf dem Broker implementiert.
Sie können jetzt den Mustercode ausführen.
Zurück zum Beginn des Mustercodes