Source:
public void start() { if (logger.isFineEnabled()) { logger.fine("TcpIpConnectionManager configured with Non Blocking IO-threading model: " + inputThreadCount + " input threads and " + outputThreadCount + " output threads"); } logger.log(selectorMode != SELECT ? INFO : FINE, "IO threads selector mode is " + selectorMode); if (metricsRegistry.minimumLevel().isEnabled(DEBUG)) { metricsRegistry.scheduleAtFixedRate(new PublishAllTask(), 1, SECONDS, ProbeLevel.INFO); } this.closeListenerExecutor = newSingleThreadExecutor(new ThreadFactory() { @Override public Thread newThread(Runnable r) { Thread t = new Thread(r); t.setName(threadNamePrefix + "-NioNetworking-closeListenerExecutor"); return t; } }); this.inputThreads = new NioThread[inputThreadCount]; for (int i = 0; i < inputThreads.length; i++) { NioThread thread = new NioThread( createThreadPoolName(threadNamePrefix, "IO") + "in-" + i, loggingService.getLogger(NioThread.class), errorHandler, selectorMode, idleStrategy); thread.id = i; thread.setSelectorWorkaroundTest(selectorWorkaroundTest); inputThreads[i] = thread; metricsRegistry.scanAndRegister(thread, "tcp.inputThread[" + thread.getName() + "]"); thread.start(); } this.outputThreads = new NioThread[outputThreadCount]; for (int i = 0; i < outputThreads.length; i++) { NioThread thread = new NioThread( createThreadPoolName(threadNamePrefix, "IO") + "out-" + i, loggingService.getLogger(NioThread.class), errorHandler, selectorMode, idleStrategy); thread.id = i; thread.setSelectorWorkaroundTest(selectorWorkaroundTest); outputThreads[i] = thread; metricsRegistry.scanAndRegister(thread, "tcp.outputThread[" + thread.getName() + "]"); thread.start(); } startIOBalancer(); }

Target:
public void start() { if (logger.isFineEnabled()) { logger.fine("TcpIpConnectionManager configured with Non Blocking IO-threading model: " + inputThreadCount + " input threads and " + outputThreadCount + " output threads"); } logger.log(selectorMode != SELECT ? Level.INFO : FINE, "IO threads selector mode is " + selectorMode); if (metricsRegistryScheduled.compareAndSet(false, true) && metricsRegistry.minimumLevel().isEnabled(ProbeLevel.DEBUG)) { metricsRegistry.scheduleAtFixedRate(new PublishAllTask(), 1, SECONDS, ProbeLevel.INFO); } this.closeListenerExecutor = newSingleThreadExecutor(new ThreadFactory() { @Override public Thread newThread(Runnable r) { Thread t = new Thread(r); t.setName(threadNamePrefix + "-NioNetworking-closeListenerExecutor"); return t; } }); NioThread[] inThreads = new NioThread[inputThreadCount]; for (int i = 0; i < inThreads.length; i++) { NioThread thread = new NioThread( createThreadPoolName(threadNamePrefix, "IO") + "in-" + i, loggingService.getLogger(NioThread.class), errorHandler, selectorMode, idleStrategy); thread.id = i; thread.setSelectorWorkaroundTest(selectorWorkaroundTest); inThreads[i] = thread; metricsRegistry.scanAndRegister(thread, "tcp.inputThread[" + thread.getName() + "]"); thread.start(); } this.inputThreads = inThreads; NioThread[] outThreads = new NioThread[outputThreadCount]; for (int i = 0; i < outThreads.length; i++) { NioThread thread = new NioThread( createThreadPoolName(threadNamePrefix, "IO") + "out-" + i, loggingService.getLogger(NioThread.class), errorHandler, selectorMode, idleStrategy); thread.id = i; thread.setSelectorWorkaroundTest(selectorWorkaroundTest); outThreads[i] = thread; metricsRegistry.scanAndRegister(thread, "tcp.outputThread[" + thread.getName() + "]"); thread.start(); } this.outputThreads = outThreads; startIOBalancer(); }