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:

  1. Öffnen Sie in einem Texteditor die Datei JMSAdmin.config.
  2. 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/	
    
  3. 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:

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

  1. Öffnen Sie den Nachrichtenfluss AddressBook.AddressBookProviderFlow.msgflow im Nachrichtenflusseditor.
  2. Klicken Sie mit der rechten Maustaste auf den Knoten SOAP Input im Nachrichtenfluss und klicken Sie auf Eigenschaften, um die Ansicht 'Eigenschaften' aufzurufen.
  3. Wählen Sie in der Ansicht 'Eigenschaften' die Registerkarte Grundeinstellung aus.
  4. 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.
  5. Öffnen Sie den Nachrichtenfluss AddressBook.AddressBookConsumerFlow.msgflow im Nachrichtenflusseditor, um den SOAPRequest-Knoten für den JMS-Transport zu konfigurieren.
  6. 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.
  7. Wählen Sie in der Ansicht 'Eigenschaften' die Registerkarte Grundeinstellung aus.
  8. 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.
  9. Ändern Sie den Wert für die Eigenschaft Bindungsoperation in FindAddress.
  10. Stellen Sie sicher, dass die Eigenschaft Transport auf den Wert JMS gesetzt ist.
  11. Wählen Sie im Nachrichtenfluss den SOAPRequest-Knoten 'saveAddress' aus und wechseln Sie zur Ansicht 'Eigenschaften'.
  12. Wählen Sie in der Ansicht 'Eigenschaften' die Registerkarte Grundeinstellung aus.
  13. 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.
  14. Ändern Sie den Wert für die Eigenschafte Binding Operation in SaveAddress.
  15. Stellen Sie sicher, dass die Eigenschaft Transport auf den Wert JMS gesetzt ist.

JNDI-Pfad in den Nachrichtenflüssen konfigurieren

SOAP-Knoten mit der Position der JMS-Bindungsdatei konfigurieren:

  1. Öffnen Sie den Nachrichtenfluss AddressBook.AddressBookProviderFlow.msgflow im Nachrichtenflusseditor.
  2. Klicken Sie mit der rechten Maustaste auf den SOAPInput-Knoten im Nachrichtenfluss und klicken Sie anschließend auf Eigenschaften, um die Ansicht 'Eigenschaften' aufzurufen.
  3. Wählen Sie in der Ansicht 'Eigenschaften' die Registerkarte JMS-Transport aus.
  4. 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.
  5. 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.
  6. Speichern Sie den Nachrichtenfluss.
  7. Öffnen Sie den Nachrichtenfluss AddressBook.AddressBookConsumerFlow.msgflow im Nachrichtenflusseditor, um die SOAPRequest-Knoten wie oben beschrieben mit der Position der JMS-Bindungsdatei zu konfigurieren.
  8. 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:

  1. Doppelklicken Sie auf die BAR-Datei: AddressBook.AddressSampleConsumer.bar.
  2. Klicken Sie in der Registerkarte Verwalten auf Erstellen, um die BAR-Datei erneut zu erstellen.
  3. Speichern Sie die neue BAR-Datei.
  4. Doppelklicken Sie auf die BAR-Datei: AddressBook.AddressSampleProvider.bar.
  5. Klicken Sie in der Registerkarte Verwalten auf Erstellen, um die BAR-Datei erneut zu erstellen.
  6. Speichern Sie die neue BAR-Datei.
  7. 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