Anfang des Inhaltsbereichs

Funktionsdokumentation Konfiguration des JMS-Empfänger-Adapters  Dokument im Navigationsbaum lokalisieren

Verwendung

Sie konfigurieren den JMS-Empfänger-Adapter, um XI-Messages vom Integration Server oder vom PCK in JMS-Nachrichten zu verwandeln. 

Integration

Die Adapterkonfiguration ist Teil der Festlegung eines Kommunikationskanals im Integration Server oder im PCK und wird auf dem Registerblatt Parametervorgenommen. Zusätzlich zur Adapterkonfiguration können auf der Registerkarte Module im Modul-Prozessor  generische Module angegeben werden, die den Adapter mit Zusatzfunktionen ausstatten.

Voraussetzungen

       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 Empfänger als Empfänger-Adapter definiert.

Aktivitäten

Zur Konfiguration des Adapters machen Sie folgende Angaben:

Transport-Protokoll

SonicMQ JMS Provider

WebSphereMQ (MQ Series) JMS Provider

Zugriff auf JMS Provider mit JNDI

Administrierbare Objekte des JMS Provider aus Datei lesen

Generischer Zugriff auf JMS-Provider

Message-Protokoll

JMS 1.x

Adapter-Engine

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.

Registerkarte Ziel

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

Registerkarte Verarbeitung

JMS-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.

Zustellungsmodus des Message-Erzeugers

Geben Sie den Zustellungsmodus des Message-Produzenten an. Es gibt folgende Möglichkeiten:

      JMS-Nachrichten im JMS-Provider speichern

      JMS-Nachrichten im JMS-Provider nicht speichern

JMS-ReplyTo-Queue-Name

Geben Sie den Namen der Queue an, an die Antworten geschickt werden sollen.

Gültigkeitsdauer der JMS-Message

Geben Sie die Verfallszeit der JMS-Nachricht als JMS-Parameter in Millisekunden an.

JMS-Message-Priorität

Geben Sie die Priorität der JMS-Nachricht an.

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.

Einstellungen zur Korrelation

Legen Sie die Korrelationseinstellungen fest:

      Setzen Sie die JMS Correlation ID auf:

       XI-Message-ID (MessageID) (Vorgabewert)

       XI-Referenz-ID (RefToMessageID)

       XI-Konversations-ID (ConversationID)

       Kein Wert

      JMSCorrelationID der Anfrage sichern

Setzen Sie, falls gewünscht, das Kennzeichen zum Sichern der JMS-Korrelations-ID der Anfrage.

      Setzen Sie die JMSProperty auf:

Geben Sie den Namen der JMS Property ein.

      Geben Sie an, welchen Wert das JMS-Property haben soll:

       XI-Message-ID (MessageID) (Vorgabewert)

       XI-Referenz-ID (RefToMessageID)

       XI-Konversations-ID (ConversationID)

       Kein Wert

XI-Einstellungen

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.

Behandlung von blockierten XI-Messages

Der Adapter ist in der Lage festzustellen, ob ein Abbruch zwischen dem JMS-Commit und dem Commit auf der Datenbank des Adapter-Framework eingetreten ist. Der Adapter erkennt den dadurch erzeugten doppelten Datensatz.

Sie haben folgende Einstellung zur Auswahl:

      Ausnahme auslösen (erneuter Message-Versuch später möglich) (Vorgabe).

      Warnung ignorieren und Message an JMS senden (Dubletten möglich)

Ein doppelter Datensatz wird dann erzeugt, wenn das JMS-Commit durchgeführt wird, nicht jedoch das Commit auf der Datenbank des Adapter-Framework. Wenn Sie diese Option wählen, dann müssen Sie im JMS-Umfeld sicherstellen, dass diese Message noch nicht empfangen wurde.

      Message als übermittelt markieren (Verlust der Message möglich)

Ein Verlust der Message tritt dann ein, wenn auch das JMS-Commit noch nicht durchgeführt wurde. Wenn Sie diese Option wählen, dann müssen Sie im JMS-Umfeld sicherstellen, dass diese Message schon empfangen wurde.

Beispiel

Ein Beispiel für die Verwendung des Parameters finden Sie unten unter Beispiel.

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).

XI Delivery Acknowledgment (Adapter ist Endpunkt) senden

Wenn der JMS-Empfänger eine Anwendung ist, dann sollte der JMS-Adapter ein Delivery-Acknowledgement zurückschicken. Setzen Sie das Kennzeichen.

Einstellungen für die Fehlerbehandlung

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.

Hinweis

Diese Funktion setzt voraus, dass Ihr JMS-Provider die Registrierung eines ExceptionListener unterstützt.

 

Neue Verbindung, wenn Ausnahmetext beginnt mit

 

Falls der JMS Provider bei Verbindungsfehlern nicht den vom JMS-Adapter registrierten ExceptionListener aufruft, können Sie mit dieser Eingabe die Wiederaufnahme der Verbindung erzwingen.

Falls beim Verschicken einer Nachricht eine JMS-Exception ausgelöst wird, wird der hier enthaltene Freitext mit dem angegebenen String verglichen und nach dem unter Wait Before Reconnect (msecs) angegebenen Zeitintervall ein Wiederaufbau der Verbindung vorgenommen.

Hinweis

Setzen Sie diesen Parameter nur, wenn Ihr JMS-Provider die Registrierung eines ExceptionListener nicht unterstützt.

 

Registerkarte Erweitert

Adapterspezifische Message-Attribute

Um Adapterattribute im Message-Header der XI-Message auszuwerten, wählen Sie Adapterspezifische Message-Attribute verwenden.

Um die folgenden Attribute in den XI-Message-Header auszuwerten, setzen Sie das jeweilige Kennzeichen:

      Wenn das Fehlen von Message-Attributen zu Fehlermeldungen führen soll, wählen Sie Fehlerausgabe beim Fehlen adapterspezifischer Message-Attribute.

Ist das Kennzeichen gesetzt und in der Message fehlt der Header für adapterspezifische Nachrichtenattribute oder eines der gesetzten Attribute, dann führt dies zu einer Delivery Exception im Audit-Log der Message.

Setzen Sie das Kennzeichen nicht, und es fehlen Nachrichtenattribute, dann greift der Adapter auf Informationen aus der Adapterkonfiguration zu.

Name

Technischer Name

Korrelations-ID der JMS-Message

DCJMSCorreleationID

JMS-Message-Ablauf

DCJMSExpiration

JMS-Message-Priorität

DCJMSPriority

ReplyTo-Destination der JMS-Message

DCJMSReplyTo

JMS Nachrichtenzeit (Timestamp)

DCJMSTimestamp

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 Namen und JavaType der JMS-Message-Eigenschaften an, deren Werte in den Message-Header der XI-Message übernommen werden sollen.

Unter Java Type definieren Sie den JMS-Java-Message-Typ für das Attribut in der erzeugten JMS-Message fest. Mögliche Eingaben sind:

       boolean

       byte

       short

       Int

       long

       float

       double

       String

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.

Adapterstatus

Setzen Sie den Adapter auf Aktiv, um ihn für den Message-Austausch einzusetzen.

Weitere Parameter

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.

Beispiel

Ein typischer Vorgang zur Behandlung von hängenden Messages ist:

...

       1.      Der JMS-Empfänger-Adapter hat für den Parameter die Voreinstellung Ausnahme auslösen.

       2.      Sie sehen im Message- und/oder Adapter-Monitor folgende Ausnahme:

Der Kanal ist so konfiguriert, dass er einen wiederherstellbaren vorläufigen Fehler für diese Warnung auslöst (Standard). Entscheiden Sie, ob Sie diese Message umgehen möchten. Setzen Sie in diesem Fall den Kanalparameter Pending Handling auf 'Bypass' und starten Sie die Message erneut.

       3.      Stellen Sie sicher, dass keine weiteren Messages durch diesen Kommunikationskanal geschickt werden, indem Sie den korrespondierenden Senderkanal deaktivieren.

       4.      Sie prüfen, ob die Message(s) im JMS-Umfeld angekommen sind.

                            a.      Falls die Message im JMS-Umfeld angekommen ist, wählen Sie Option Message als übermittelt markieren (Verlust der Message möglich).

                            b.      Falls die Message nicht im JMS-Umfeld angekommen ist, wählen Sie Option Warnung ignorieren und Message an JMS senden (Dubletten möglich).

                            c.      Wählen Sie Wiederholen im Message-Monitoring.

Haben Sie Messages vorliegen, von denen einige im JMS-Umfeld angekommen sind und andere nicht, dann müssen Sie den Vorgang zweimal durchführen und jeweils die passenden Messages wiederholt senden.

       5.      Stellen Sie nun den Parameter im Kommunikationskanal wieder auf Ausnahme auslösen um.

       6.      Aktivieren Sie den korrespondierenden Sender-Kommunikationskanal.

 

 

 

 

Ende des Inhaltsbereichs