Um den Ablauf der TCP-Kommunikation mit Spring Integration zu organisieren, habe ich auf der Clientseite ein Sequenzdiagramm gezeichnet, das jedoch kompliziert ist.

Es wird davon ausgegangen, dass "autoStartUp" aktiviert ist, dh "Outbound Gateway" und "ConnectionFactory" werden beim Start der Anwendung gestartet. Das machte den Ausgangspunkt seltsam: verwirrt :.
Outbound Gateway ruft die Methode auf, mit der ConnectionFactory festgelegt wird.ConnectionFactory registriert OutboundGateway in Sender / Listener als Sender / Empfänger (OutboundGateway implementiert TcpSender / TcpListener). TcpSender ist die Schnittstelle zum Herstellen einer Verbindung von der Verbindungsfactory zum Senden einer Nachricht, und TcpListener ist die Schnittstelle zum Empfangen der empfangenen Nachricht von der Verbindung.Outbound Gateway ruft ConnectionFactory auf, um eine Verbindung herzustellen.ConnectionFactory ruft buildNewConnection () of TcpConnection auf, um eine neue Verbindung herzustellen. Überprüfen Sie beim Freigeben einer Verbindung (single-use = false) zunächst, ob bereits eine verwendbare Verbindung besteht. Veröffentlichen Sie ein Ereignis, wenn eine neue Verbindung hergestellt wird.Outbound Gateway enthält TcpConnection in der Variablen.Wird zwischen 6 und 7 aufgerufen, wenn "Interceptor" definiert ist.
TcpConnection bewirkt, dass MessageMapper das empfangene Objekt dem Nachrichtenobjekt zuordnet.MessageMapper bearbeitet den Header und gibt eine Nachricht an TcpConnection zurück.TcpConnection leitet eine Nachricht an Outbound Gateway weiter.Outbound Gateway prüft, ob die empfangene Nachricht an das Gesendete gebunden ist und leitet sie an AsyncRepry weiter.AsyncRepry empfängt die Nachricht und zählt den Latch herunter.single-use = true), schließen Sie die Verbindung. In diesem Fall wird ein Ereignis ausgegeben.Outbound Gateway gibt das Ergebnis an Message Gateway zurück.Message Gateway gibt das Ergebnis an den Client zurück.Wenn Sie "Interceptor" definiert haben, wird dieser bei 3 aufgerufen, bevor die Nachricht an "Outbound Gateway" weitergeleitet wird.
Bemerkungen: Obwohl in der Abbildung weggelassen, gibt es zwischen "Message Gateway" und "Outbound Gateway" "Channel" und verschiedene Endpunkte.
In diesem Fall handelt es sich um eine TCP-Kommunikation unter Verwendung von Spring Integration und zum Zweck der Organisation der Untersuchungsergebnisse Ich habe gepostet. Es gibt nicht viele japanische Dokumente, daher hoffe ich, dass es denjenigen hilft, die sich darüber Sorgen machen: Schweiß :. (Übrigens plant die Serverseite nicht, Spring Integration in diesem Projekt zu verwenden, daher werde ich es wahrscheinlich veröffentlichen.) Nein.
Die obige Abbildung wurde mit einem Dienst namens WebSequenceDiagrams erstellt. Sie können einfach ein Sequenzdiagramm mit einem Skript zeichnen, während Sie sich das Beispiel ansehen. Sie können das Design ändern und als Bild ausgeben. Wenn Sie Ihre E-Mail-Adresse registrieren, können Sie die Daten auf der Website speichern. Da das Ausgabebild jedoch eine geringe Bildqualität aufweist und unten rechts ein Logo enthalten ist (es scheint, dass es durch Aufladen gelöst werden kann), scheint es nicht für kommerzielle Zwecke verwendet werden zu können, sondern es kann zum Organisieren von Ideen verwendet werden.
