Spring Integration TCP强制从双方重新连接

时间:2013-04-19 14:00:45

标签: tcp spring-integration

我最近收到了关于如何强制从客户端重新连接的答案(客户端模式TCP连接工厂和适配器)。

但我还需要能够从服务器端关闭连接(服务器TCP连接工厂和非客户端模式适配器)。

我需要支持这样一种情况:如果某些自定义关联逻辑不同步,则关闭连接,并且双方通过重置其计数器等来对此作出反应。

所以我需要:

  1. 强制TCP与服务器断开连接
  2. 强制从客户端重新连接
  3. 让服务器代码发现连接是 从客户关闭(是否有事件?)
  4. 让客户端代码发现连接已从服务器关闭 (事件?)

1 个答案:

答案 0 :(得分:0)

3.0版本(目前在里程碑1)有一个新的TCP Connection Eventing功能......

M1包含功能,但在M1之后添加了documentation,并且在构建快照中可用。

您可以实施自己的ApplicationListener或配置新的<int-ip:tcp-connection-event-inbound-channel-adapter/>,这会将事件发送到<channel/>

此外,正如What's new中所述,您现在可以强制关闭任何连接,使用它的ID connectionFactory.closeConnection(String connectionId)