2016-07-18 2 views
0

Ich bin neu in der Frühjahrsintegration und durchlief die Definition von Service-Aktivator. Die Definition sagt, dass es an call a method and wrap the result in the response message. gewohnt ist Die Definition sagt auch, dass es ein outbound gateway for invoking the bean method. ist Ich bin nicht klar auf der zweiten Aussage. Wie ich es verstehe Outbound-Gateway ist die Anfrage von der Anwendung an externe Anwendung zu senden und die Antwort zurück in die Anwendung zu erhalten. Wenn also eine Bean aufgerufen wird, wird sie in der Anwendung aufgerufen und sollte daher ein Inbound-Gateway sein. Bitte lassen Sie mich wissen, wo ich falsch liege.Service-Aktivator fungiert als Outbound-Gateway zum Aufruf der Bean-Methode

Antwort

1

Es gibt zwei Arten der Integration - mit externen Systemen, die verschiedene Protokolle verwenden, und Legacy-Java-Code, der Methodenaufruf verwendet.

Dabei gibt es Einweg-Integrationen (bereitgestellt von Kanaladaptern) und Zweiwege-Integration (Anfrage/Antwort, bereitgestellt von Gateways). In jedem Fall kann die Integration in den Nachrichtenfluss eingehen oder von diesem ausgehen.

Der <int: .../> Namespace stellt eingehende und ausgehende Kanaladapter zum Aufruf Legacy-Code vom Nachrichtenfluss, im letzteren Fall (outbound) die Methode Rückgabetyp null sein muss. Sie können die gleiche Methode auch mit einem Service-Aktivator aufrufen, aber der Channel-Adapter wird bevorzugt, weil klar ist, dass es sich um eine Einweg-Integration handelt.

Auf der eingehenden Seite wird das Messaging-Gateway (<int:gateway/>) bereitgestellt, um älteren Java-Code die Interaktion mit dem Nachrichtenfluss ("Aufruf") ohne bestimmte Abhängigkeiten zu ermöglichen.

Es gibt keine <int:outbound-gateway/> zum Aufrufen einer Methode, da der Serviceaktivator diese Funktionalität bereitstellt.

Wenn Sie uns auf die Dokumentation verweisen können, die die Verwirrung verursacht hat, können wir versuchen, sie zu verbessern; Bitte öffnen Sie eine documentation JIRA issue.

+0

Danke Gary. Ich habe ein Jira-Ticket erstellt. – zilcuanu

+0

Bitte finden Sie auch meine Erklärung in der Ziel-JIRA: https://jira.spring.io/browse/INT-4073. Ich bin mir nicht sicher, ob wir noch etwas ändern müssen. Es ist notwendig, von der EIP zu lernen als eine Theorie IMHO ... –

Verwandte Themen