Konfiguration des
JMS-Sender-Adapters
Sie konfigurieren den JMS-Sender-Adapter, um JMS-Messages an die Integration Engine oder das PCK zu versenden.
Die Adapterkonfiguration ist Teil der Festlegung eines Kommunikationskanals im Integration Server oder im PCK und wird auf dem Registerblatt Parameter vorgenommen. Zusätzlich zur Adapterkonfiguration können auf der Registerkarte Module im Modul-Prozessor generische Module angegeben werden, die den Adapter mit Zusatzfunktionen ausstatten.
Der Adapter ermittelt gemäß seiner Konfiguration die Payload der XI-Message. Die Informationen des Message-Header werden dagegen aus der zum Kommunikationskanal gehörenden Sendervereinbarung ermittelt.
Für die Definition der Sendervereinbarung ergeben sich für den Adapter folgende Bedingungen:
● Es muss genau eine Sendervereinbarung für den hier definierten Kommunikationskanal geben.
● In der Sendervereinbarung müssen mindestens der Interface-Name und der Sender-Service qualifiziert sein. Alle anderen Felder sind entsprechend den allgemeinen Regeln zur Definition von Sendervereinbarungen optional.
1. Sie haben einen Kommunikationskanal angelegt oder einen bestehenden Kommunikationskanal geöffnet.
2. Sie haben auf der Registerkarte Parameter den Adaptertyp JMSausgewählt.
3. Sie haben den Adapter über den Auswahlknopf Sender als Sender-Adapter definiert.
Zur Konfiguration des Adapters machen Sie folgende Angaben:
SonicMQ JMS Provider
WebSphereMQ (MQ Series) (nicht-JMS)
Zugriff auf JMS-Provider mit JNDI
Administrierbare Objekte des JMS-Provider aus Datei lesen
Generischer Zugriff auf JMS-Provider
JMS 1.x
Wählen Sie die Adapter-Engine auf dem Integration Server oder eine dezentral installierte Adapter-Engine aus. Diese Auswahl ist im PCK nicht möglich.
In Abhängigkeit vom gewählten Transport-Protokoll machen Sie Angaben zum jeweiligen JMS-Provider. Die Bedeutung der Parameter entnehmen Sie der jeweiligen JMS-Provider-Dokumentation. Siehe auch JMS-Provider-spezifische Einstellungen
Parameter |
Eingabe |
Transaktionale JMS-Session |
Falls eine transaktionale JMS-Session verwendet werden soll, setzen Sie das Kennzeichen. Eine transaktionale Session wird nach der Verarbeitung einer Message entweder mit COMMIT abgeschlossen oder im Fehlerfall mit ROLLBACK zurückgesetzt. |
JMS-Queue-Benutzer |
Benutzer für den Zugriff auf die JMS-Queue. |
JMS-Queue-Kennwort |
Kennwort mit Bestätigung für den Zugriff auf die JMS-Queue. |
JMS-Message-Selector |
Über den JMS-Message-Selector können Sie Bedingungen angeben, die eine JMS-Message in der angegebenen JMS-Queue erfüllen muss, damit sie vom Sender-Adapter verarbeitet wird.
Weitere Informationen zum JMS-Message-Selector finden Sie im Internet unter java.sun.com/j2ee/sdk_1.3/techdocs/api/index.html und dort unter javax.jms und Message.
|
Legen Sie fest, nach welchem Algorithmus die Message-ID einer neuen XI-Message erstellt werden soll. Voraussetzung für die Wahl einer ID ist, dass es sich um einen GUID (Globally Unique Identifier) nach ISO-11578 handelt.

Ist die Message-ID kein GUID, dann wird die Message-Verarbeitung fehlschlagen. Dies kann zu Message-Duplikaten führen, falls die ID nicht eindeutig ist. Es kann außerdem zu einer GUIDFormatException führen, falls der GUID nicht der Norm ISO-11578 entspricht.
● XI-Message-ID setzen auf:
○ GUID (empfohlener Wert)
○ JMSMessageID (Eindeutigkeit ist JMS-Provider-abhängig)
○ JMSCorrelationID (Eindeutigkeit ist JMS-Sender-abhängig)
○ JMSProperty (Eindeutigkeit ist JMS-Sender-abhängig)
Geben Sie den Namen der JMS Property ein. Dieser Wert wird für die XI-Message-ID gesetzt.
Sind JMSCorrelationID oder JMSProperty in der JMS-Message nicht gesetzt, dann wird automatisch eine Message-ID generiert.
● Haben Sie JMSMessageID, JMSCorrelationID oder JMSProperty gewählt und ist in diesen Feldern eine JMS Message-ID hinterlegt, dann sollten Sie die ('ID:') ID-Markierung von JMSMessageID entfernen. Setzen Sie das Kennzeichen.
Dies ist notwendig, weil die JMS-Spezifikation vorschreibt, dass jede JMS-Message-ID mit der Kennung 'ID:' beginnt. Das widerspricht jedoch der Norm ISO-11578.
● XI-Conversation-ID (ConversationID) setzen auf:
○ Kein Wert
Mit dieser Einstellung erreichen Sie, dass die XI-Conversation-ID nicht gesetzt wird.
○ JMSMessageID (Eindeutigkeit ist JMS-Provider-abhängig)
○ JMSCorrelationID (Eindeutigkeit ist JMS-Sender-abhängig)
○ JMSProperty (Eindeutigkeit ist JMS-Sender-abhängig)
Geben Sie den Namen der JMS Property ein. Dieser Wert wird für die XI-Message-ID gesetzt.
○ Gesicherte JMSCorrelationID der Anfrage
Hier wird die gesicherte JMSCorrelationID des Requests verwendet.
Weitere Informationen zur ConversationID finden Sie unter: Bestandteile der XI-Message , dort unter ConversationID und RefToMessageID.
Parameter |
Eingabe |
Mapping der Message |
Wenn die gesamte Message in der JMS-Payload enthalten sein soll, wählen Sie Gesamte Message = JMS-Payload. Wenn nur die Payload der Message in die JMS-Payload eingestellt werden soll, dann wählen Sie Message-Payload = JMS-Payload. |
Quality-of-Service |
Gibt an, wie eine Message durch die Integration Engine/das PCK verarbeitet werden soll. ● Exactly Once (asynchrone Verarbeitung mit garantierter einmaliger Ausführung) ● Exactly Once In Order (asynchrone Verarbeitung über Queues, d.h. eine garantierte einmalige Ausführung unter Beibehaltung der Reihenfolge aufeinander folgender Nachrichten). ○ Geben Sie die Queue-ID an. ○ Geben Sie den verarbeitenden J2EE Cluster-Server (Cluster-ID) an. Durch diese Angabe werden Überholvorgänge in der JMS-Queue verhindert. Die gültige Cluster-ID finden Sie auf dem J2EE-Server – Administrator unter Server.
Wenn Sie die Cluster-ID nicht angeben, wird der EOIO-Kanal automatisch auf einem anderen aktiven Knoten aktiviert. Diese Konfiguration bietet in einer Clusterumgebung eine Ausfallsicherung für Knoten durch den Adapter. |
Zeitraum der Duplikatprüfung für EO(IO) in Sek. |
Für die Prüfung doppelter Messages müssen IDs auf der Datenbank gesichert werden. Damit die Größe der Datenbank nicht unnötig wächst, müssen diese IDs nach einiger Zeit gelöscht werden. Geben Sie in Sekunden an, wann die IDs gelöscht werden sollen (z. B. nach einem Tag, wenn Sie täglich das Message-Monitoring kontrollieren). |
Parameter |
Eingabe |
Warten nach Message-Fehler (ms) |
Geben Sie die Anzahl der Millisekunden an, die bei einem Verarbeitungsfehler gewartet werden soll, bis weitere Messages verarbeitet werden. Eine gewisse Wartezeit kann beispielsweise bei transaktionaler Verarbeitung sinnvoll sein, da fehlerhafte Messages nach einem ROLLBACK in der Queue stehen bleiben. |
Warten bis zur neuen Verbindung (ms) |
Geben Sie einen Zeitraum an, nachdem bei einem JMS-seitigen Verbindungsfehler versucht werden soll, die Verbindung neu aufzubauen. Das Zeitintervall wird in Millisekunden angegeben. Bei einem Wert von -1 wird nicht versucht, die Verbindung neu aufzubauen.
Diese Funktion setzt voraus, dass Ihr JMS-Provider die Registrierung eines ExceptionListener unterstützt.
|
● Um Adapterattribute im Message-Header der XI-Message abzulegen, wählen Sie Adapterspezifische Message-Attribute setzen.
● Um die folgenden Attribute in den XI-Message-Header zu übernehmen, setzen Sie das jeweilige Kennzeichen:
Name |
Technischer Name |
Korrelations-ID der JMS-Message |
DCJMSCorrelationID |
Auslieferungsmodus der JMS-Message |
DCJMSDeliveryMode |
Destination der JMS-Message |
DCJMSDestination |
JMS-Message-Ablauf |
DCJMSExpiration |
JMS-Message-ID |
DCJMSMessageID |
JMS-Message-Priorität |
DCJMSPriority |
JMS-Kennung für wiederholte Auslieferung |
DCJMSRedelivered |
ReplyTo-Destination der JMS-Message |
DCJMSReplyTo |
Zeitstempel der JMS-Message |
DCJMSTimestamp |
JMS-Message-Typ |
DCJMSType |
Verwendeter JMS-Message-Selector |
DCJMSMessageSelector |
Verwendete JMS-Message-Queue |
DCJMSMessageQueue |
JMS-Benutzer |
DCJMSUser |
● Möchten Sie zusätzliche JMS-Message-Attribute setzen, wählen Sie Zusätzliche JMS-Message-Eigenschaften (Maximum 10) spezifizieren.
● Geben Sie in der Tabelle die Namen der JMS-Message-Eigenschaften an, deren Werte in den Message-Header der XI-Message übernommen werden sollen.
Die technischen Namen der zusätzlichen Attribute lauten DCJMSMessageProperty0, DCJMSMessageProperty1, ..., DCJMSMessageProperty9.
Sie können in der Tabelle mehr als zehn Eigenschaften eingeben. Es werden jedoch nur die ersten zehn berücksichtigt.
Der Attributnamensraum für den Adapter ist: http://sap.com/xi/XI/System/JMS.
Setzen Sie den Adapter auf Aktiv, um ihn für den Message-Austausch einzusetzen.
Um zusätzliche Einstellungen vorzunehmen, oder die Standardeinstellungen zu verändern, verwenden Sie die Parameter und Werte in der Tabelle:
Folgende Parameter können z.B. gesetzt werden:
Name |
Wert |
JMSMessageClass |
com.ibm.jms.JMSMessage |
JMS.Message.method.setStringProperty |
java.lang.String XAppId, java.lang.String myapp |
Weitere JMS-Parameter können für alle JMS-Provider gesetzt werden.