public final void dispose() { if (disposed) { return; } synchronized (disposalLock) { if (!disposing) { disposing = true; for (int i = pool.length - 1; i >= 0; i--) { if (pool[i] == null || pool[i].isDisposing()) { continue; } try { pool[i].dispose(); } catch (Exception e) { LOGGER.warn("Failed to dispose a " + pool[i].getClass().getSimpleName() + " at index " + i + ".", e); } finally { pool[i] = null; } } if (createdExecutor) { ((ExecutorService) executor).shutdown(); } } } disposed = true; }
if (ioProcessor.isDisposing()) { continue;
if (ioProcessor.isDisposing()) { continue;