首页 > 解决方案 > Netty ProxyHandler - 重试连接备用主机

问题描述

如果第一台主机的连接失败,我正试图围绕什么是ProxyHandler.connect()使用备用主机名重试的最佳方法。

我最初的想法是使用 anexceptionCaught()并听取原因ProxyConnectException,但后来我注意到这ProxyHandler.connect()是期待一个承诺。我不相信我可以从我的内部获得最初的承诺exceptionCaught(),我担心在这一点上构建一个新的承诺会破坏任何进一步的通知。

我的恐惧是没有根据的吗?我可以ProxyHandler.connect()用新的承诺打电话吗?我是否应该重建自己的 ProxyHandler 以便可以直接在 中处理备用主机connect()

标签: netty

解决方案


@NormanMaurer 提出的附加 ChannelFutureListener 的建议适用于我的情况。不过,我对频道管道进行改造的理论并不合适。相反,我让我的通道初始化程序知道备用主机以及它是否需要使用它来构建 ProxyHandler。我相信我把一切都复杂化了,而实际上我基本上需要做@NormanMaurer 在这里建议的连接重试。


推荐阅读