使用 CachingClientConnectionFactory 记录打开的连接是否正确?

问题描述 投票:0回答:1
我正在实现 TCP 客户端。我正在使用 CachingClientConnectionFactory 使用

TcpNetClientConnectionFactory

 创建 10 个 TCP 连接池。我的目标是打印打开连接的连接 ID。我遇到了缓存ClientConnectionFactory。
getOpenConnectionIds()

但它不打印任何东西。深入研究后,我发现

CachingClientConnectionFactory

AbstractClientConnectionFactory
都没有提供
getOpenConnectionIds()
的实现。事实上,它是在
AbstractConnectionFactory
中实现的。那么,可以肯定地说该方法仅适用于 TCP 服务器吗?

我非常重视在客户端打印打开连接的连接 ID 的其他建议。目前,我正在利用

cachingClientConnectionFactory.getActiveCount()

 来打印打开/活动连接的数量。

spring-integration spring-integration-ip
1个回答
0
投票
请在 GitHub 上打开一个问题,引用此问题。

客户端和服务器连接工厂都支持该方法,但委托工厂(例如委托给“真实”客户端工厂的

CachingClientConnectionFactory

)当前不支持该方法。

解决此问题可以做的一件事是添加

@EventListener

 以在连接打开和关闭时接收事件。

https://docs.spring.io/spring-integration/docs/current/reference/html/ip.html#tcp-events

© www.soinside.com 2019 - 2024. All rights reserved.