Channel.OP_WRITE только для информации. Netty использует его, чтобы указать, может ли поток ввода-вывода немедленно записать данные в канал. Если channel.isWritable () имеет значение false, Netty будет помещать в очередь любые дальнейшие данные, пока они не будут приняты каналом. Если вы продолжаете записывать данные, когда isWritable () имеет значение false, то в конечном итоге вы можете столкнуться с OutOfMemoryError.
Полагаю, вы не хотите на самом деле закрывать канал, просто перестаньте писать в него. Правильный подход заключается в том, чтобы либо проверять channel.isWritable () после каждой отправки, либо получать ChannelStateEvent (возможно, путем переопределения SimpleChannelUpstreamHandler.channelInterestChanged ()) и приостанавливать любой процесс приложения, который записывает данные в канал.
В любом случае вы захотите получить ChannelStateEvent, чтобы знать, когда вы сможете снова начать запись на канал.