The suggestion made by @NormanMaurer to attach a ChannelFutureListener worked in my case. My theory of reworking the channel's pipeline wasn't appropriate though. I instead made my channel initializer aware of the alternate host and whether it needed to build the ProxyHandler using it. I believe I was overcomplicating everything when in reality I basically needed to do what @NormanMaurer had suggested here for connection retries.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…