Netty ProxyHandler - 重试与备用主机的连接
Netty ProxyHandler - Retry Connect with Alternate Host
如果第一台主机连接失败,我正在思考什么是使用备用主机名重试 ProxyHandler.connect()
的最佳方法。
我最初的想法是使用 exceptionCaught()
并侦听 ProxyConnectException
的原因,但后来我注意到 ProxyHandler.connect()
期待一个承诺。我不相信我可以从我的 exceptionCaught()
中访问最初的承诺,我担心此时构建一个新的承诺会破坏任何进一步通知管道。
我的恐惧是没有根据的吗?我可以打电话给 ProxyHandler.connect()
并做出新的承诺吗?我是否应该重建自己的 ProxyHandler,以便我可以直接在 connect()
中处理备用主机?
@NormanMaurer 提出的附加 ChannelFutureListener 的建议适用于我的情况。不过,我关于改造频道管道的理论并不合适。相反,我让我的通道初始化器知道备用主机以及它是否需要使用它来构建 ProxyHandler。我相信我把一切都搞得太复杂了,而实际上我基本上需要做@NormanMaurer 建议的here 连接重试。
如果第一台主机连接失败,我正在思考什么是使用备用主机名重试 ProxyHandler.connect()
的最佳方法。
我最初的想法是使用 exceptionCaught()
并侦听 ProxyConnectException
的原因,但后来我注意到 ProxyHandler.connect()
期待一个承诺。我不相信我可以从我的 exceptionCaught()
中访问最初的承诺,我担心此时构建一个新的承诺会破坏任何进一步通知管道。
我的恐惧是没有根据的吗?我可以打电话给 ProxyHandler.connect()
并做出新的承诺吗?我是否应该重建自己的 ProxyHandler,以便我可以直接在 connect()
中处理备用主机?
@NormanMaurer 提出的附加 ChannelFutureListener 的建议适用于我的情况。不过,我关于改造频道管道的理论并不合适。相反,我让我的通道初始化器知道备用主机以及它是否需要使用它来构建 ProxyHandler。我相信我把一切都搞得太复杂了,而实际上我基本上需要做@NormanMaurer 建议的here 连接重试。