对于最新的稳定版本,请使用 Spring Integration 6.3.1! |
对于最新的稳定版本,请使用 Spring Integration 6.3.1! |
从版本 3.0 开始,实例会报告对实例的更改。 是 的子类,因此可以被 或 方法中定义的任何对象接收。
另请参阅事件入站通道适配器。TcpConnection
TcpConnectionEvent
TcpConnectionEvent
ApplicationEvent
ApplicationListener
ApplicationContext
@EventListener
TcpConnectionEvents
具有以下属性:
-
connectionId
:连接标识符,可在消息标头中用于向连接发送数据。 -
connectionFactoryName
:连接所属的连接工厂的 Bean 名称。 -
throwable
:(仅适用于事件)。Throwable
TcpConnectionExceptionEvent
-
source
:这。 例如,您可以使用它来确定远程 IP 地址(需要强制转换)。TcpConnection
getHostAddress()
与特定连接相关的可用 s包括:TcpConnectionEvent
-
TcpConnectionOpenEvent
-
TcpConnectionCloseEvent
-
TcpConnectionExceptionEvent
此外,从版本 4.0 开始,TCP 连接工厂中讨论的标准反序列化程序现在在解码数据流时遇到问题时会发出实例。
这些事件包含异常、正在生成的缓冲区,以及在发生异常时对缓冲区(如果可用)的偏移量。
应用程序可以使用普通方法或(请参阅接收 Spring 应用程序事件)来捕获这些事件,从而允许分析问题。TcpDeserializationExceptionEvent
ApplicationListener
@EventListener
ApplicationEventListeningMessageProducer
从版本 4.0.7 和 4.1.3 开始,每当服务器套接字上发生意外异常时(例如,服务器套接字正在使用时),都会发布实例。
这些事件具有对连接工厂和原因的引用。TcpConnectionServerExceptionEvent
BindException
从版本 4.2 开始,每当终端节点(入站网关或协作出站通道适配器)收到因标头无效而无法路由到连接的消息时,都会发布实例。
当收到延迟回复(发送方线程超时)时,出站网关也会发布此事件。
该事件包含连接 ID 以及属性中的异常,其中包含失败的消息。TcpConnectionFailedCorrelationEvent
ip_connectionId
cause
从版本 4.3 开始,在启动服务器连接工厂时会发出 a。
当出厂配置为侦听端口时,这很有用,这意味着操作系统会选择端口。
如果您需要在启动连接到套接字的其他进程之前等待,也可以使用它来代替轮询。TcpConnectionServerListeningEvent
0
isListening()
为了避免延迟侦听线程接受连接,该事件将发布在单独的线程上。 |
为了避免延迟侦听线程接受连接,该事件将发布在单独的线程上。 |
从版本 4.3.2 开始,每当无法创建客户端连接时,都会发出 a。
事件的源是连接工厂,可用于确定无法建立连接的主机和端口。TcpConnectionFailedEvent
若要使用单个(或方法)接收所有这些事件(包括 s),请将侦听器配置为接收 s。ApplicationListener
@EventListener
TcpConnectionEvent
IpIntegrationEvent