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