В Netty мы обычно вызываем методы на Channel
или ChannelHandlerContext
для выполнения операций с соединением. В частности, такие методы, как write()
, flush()
и writeAndFlush()
, используются для отправки сообщений. Однако эти методы являются асинхронными и могут вызывать исключения, если в соединении или в переданных параметрах есть ошибки. Такие исключения не обрабатываются, если только мы не вызовем sync()
/ get()
для синхронного ожидания результата или добавим прослушиватели, используя addListener()
/ addListeners()
.
Поэтому мой вопрос: существует ли общий метод для асинхронной обработки всех таких исключений без вызова дополнительных методов, например, путем добавления общего обработчика исключений во время построения Bootstrap
или инициализации Channel
?
Я прочитал и попробовал этот ответ https://stackoverflow.com/a/31073723/5082913,, но обнаружил, что добавление ChannelDuplexHandler
в хвосте конвейера может обрабатывать только входящие исключения.