首页 > 解决方案 > Spring集成事件的Spring集成顺序

问题描述

我正在处理 Spring Integration Events,需要确保事件调用的正确顺序。我有两个听众。一种称为 TerminalErrorListener 并捕获 TcpConnectionExceptionEvent 和 TcpDeserializationExceptionEvent。第二个称为 TerminalDisconnectEventListener 并捕获 TcpConnectionCloseEvent。

在我的例子中,我使用 NIO 并在我的类中手动扩展 TcpNioConnection,其中包含一个额外的字段。该字段称为 Originator 并包含有关导致 TcpConnectionCloseEvent 的原因的信息,这是我的问题。

我在 TerminalErrorListener 中定义了发起者,并且需要确保在 TerminalErrorListener 之后调用 TerminalDisconnectEventListener。

我通常如何确保(可能我可以保证在错误之后调用关闭事件)这会发生?是否有可以在某种图表中看到的优先模式或默认流模型?我的意思是何时调用特定事件以及所有事件的一般顺序是什么。

感谢您的回答。

标签: eventstcpspring-integration

解决方案


使用 NIO,无法保证您会在连接关闭事件之前获得反序列化失败事件。


推荐阅读