In der Message-Verarbeitung aus Senderrichtung sollten Sie folgende Schritte durchführen.
Hinweis
Zu den ersten sieben Schritten gibt es ein Beispiel. Öffnen Sie SPIManagedConnectionFactory.java und suchen Sie nach der in den Schritten angegebenen Zeichenkette.
- Modul-Prozessor-Lookup
Zeichenkette: CS_MPLOOK.
Wird die Ausnahme NoSuchObjectLocalException empfangen, wird direkt nach dem Aufruf des Modul-Prozessors der ModuleProcessor-Lookup angestoßen.
Der Modul-Prozessor wird neu gestartet. Der zuvor ermittelte Module-Prozessor-Proxy ist ungültig. Dann wird die Message an den Modul-Prozessor übergeben.
Ein Beispiel finden Sie unter: CS_AFMPCALL
- Überprüfung, ob die externe Message-ID bereits im MessageIDMapper gespeichert ist
Zeichenkette: CS_IDMAPCHECK.
- Anlegen des neuen Inbound XI-Message-Objekts oder wenigstens der ID für die neue XI-Message
Zeichenkette: CS_MSGCRE.
- Starten einer neuen LUW
Zeichenkette: CS_LUWBEGIN.
- Aufruf des Modul-Prozessors: Die beteiligten Module dürfen keine Commit für die LUW durchführen. Sie dürfen jedoch in Fehlersituationen Exceptions ausgeben.
Zeichenkette: CS_AFMPCALL.
- Anlegen eines Mappings mit dem MessageIDMapper zwischen der externen Message-ID und der XI-Message-ID für die neue gesendete Message. Diese IDMap wird mit dem Commit im nächsten Schritt zusammen mit der Message auf der Datenbank committed.
Zeichenkette: CS_IDMAPINSERT.
- Commit der LUW: Die Adapter-Framework Messaging Service-Queues und das Message-ID Mapping werden gemeinsam ausgeführt. So kann das Commit für das externe Protokoll später ausgeführt werden. Duplikate werden durch die vorherige Überprüfung der externen Message-ID bemerkt.
Zeichenkette: CS_LUWCOMMIT.
- Commit der Verarbeitung des externen Protokolls, falls es lokale Transaktionen unterstützt.
Im Fehlerfall wird das Commit nicht durchgeführt sondern ein Rollback der LUW vorgenommen.