У меня вопрос по поводу мониторинга сервера netty. Я хочу посмотреть, сколько существует открытых соединений с сервером, поэтому для этого у нас есть код с целочисленным атомарным счетчиком, который увеличивается на 1 в методе ChannelInitializer.initChannel (..) и уменьшается на 1 в слушателе closeFuture дляэтот канал SocketChannel. По какой-то причине, которую я не могу понять, он не падает до нуля и остается положительным при большой нагрузке. Я надеялся, что, может быть, есть какой-то лучший способ отслеживания этих открытых каналов?
@Override
protected void initChannel(SocketChannel channel) throws Exception {
currentConnections.incrementAndGet();
channel.closeFuture().addListener(f -> currentConnections.decrementAndGet());
}
ОБНОВЛЕНИЕ: Таким образом, число остается положительным после того, как клиенты перестают отправлять трафик и отключаются.