private void startAcceptorThread() { if (acceptorThread != null) { logger.warning("SocketAcceptor thread is already live! Shutting down old acceptor..."); acceptorThread.shutdown(); acceptorThread = null; } acceptorThread = new SocketAcceptorThread( ioService.getThreadGroup(), ioService.getThreadPrefix() + "Acceptor", serverSocketChannel, this); acceptorThread.start(); }
@Override public synchronized void stop() { if (!live) { return; } live = false; logger.finest("Stopping ConnectionManager"); if (acceptorThread != null) { acceptorThread.shutdown(); } for (SocketChannelWrapper socketChannel : acceptedSockets) { closeResource(socketChannel); } for (Connection conn : connectionsMap.values()) { destroySilently(conn); } for (TcpIpConnection conn : activeConnections) { destroySilently(conn); } ioThreadingModel.shutdown(); acceptedSockets.clear(); connectionsInProgress.clear(); connectionsMap.clear(); monitors.clear(); activeConnections.clear(); }
@Override public synchronized void shutdown() { if (acceptorThread != null) { acceptorThread.shutdown(); } closeServerSocket(); stop(); connectionListeners.clear(); }