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
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.
- 1. Django Primärschlüssel, der als Fremdschlüssel fungiert
- 2. Best Practice: Verschiedene Kategorien - beste Plugin für sie (fungiert als markierbare, fungiert als Baum, ...)
- 3. Knoten - fungiert als Webserver und Client
- 4. Stellenverschiebung fungiert als logische Verschiebung, unabhängig von der signierten Variable
- 5. Aufruf der Funktion zum Arbeiten
- 6. `ln -s` in einem Skript fungiert als` cp`
- 7. Verwendet SslStream LocalCertificateSelectionCallback, wenn es als Server fungiert?
- 8. Rails fungiert als Taggable-on mit select2 (und simple_form)
- 9. C++ Aufruf von Override-Funktionen führt zum Aufruf der Basisfunktion
- 10. Speichern von Python-Funktionsparametern als Variable zum späteren Aufruf
- 11. Sass Funktion zum Aufruf mehr als einer Palette
- 12. Aufruf von Wörterbuch der Daten als Schlüssel
- 13. F # - Kann ich den Typnamen als Funktion verwenden, die als Standardkonstruktor fungiert?
- 14. Wie kann ich feststellen, ob eine Gruppe von Parens im Perl-Code als Gruppierung oder als Liste fungiert?
- 15. Ransack und fungiert-as-markierbare-in Fragen
- 16. Python - was ist der bessere Weg zum Aufruf der Superklasse?
- 17. Aufruf an das Betriebssystem zum Öffnen der URL?
- 18. Aufruf zum Funktionsvorlage Mitglied andernfalls
- 19. C# als Benutzeroberfläche Aufruf Prolog als Argumentationsmodul
- 20. Aufruf der verschachtelten Funktion, wenn Funktionsname als String übergeben wird
- 21. Aufruf eines Konstruktors als Methode
- 22. Web-Server eine ungültige Antwort erhalten, während als Gateway oder Proxy-Server fungiert
- 23. Warum fungiert ein C++ - Zeiger auf ein Zeichen als Zeichenfolge, obwohl kein Nullabschluss vorhanden ist?
- 24. Ein Objekt in Google Cloud Storage, das als "Redirect" oder "Symlink" fungiert.
- 25. Gibt es eine MouseDown-Setter-Eigenschaft für ein Rechteck, das als Schaltflächensteuerelement fungiert?
- 26. .NET, C#: So fügen Sie ein benutzerdefiniertes Serialisierungsattribut hinzu, das als ISerializable-Schnittstelle fungiert
- 27. WPF - Listbox, die an Sammlung gebunden ist, fungiert als ein Element
- 28. UDF zum Anzeigen der Zeichenfolge als Hexcode
- 29. Bash Funktion Befehl Aufruf als Argument angegeben
- 30. Rails 3, fungiert als Taggable-on-Edelstein - wie die am häufigsten verwendeten Tags?
Danke Gary. Ich habe ein Jira-Ticket erstellt. – zilcuanu
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 ... –