cpl.poolInitCompleted(evt); break; case CHECKOUT: cpl.poolCheckOut(evt); break; case CHECKIN: cpl.poolCheckIn(evt); break; case VALIDATION_ERROR: cpl.validationError(evt); break; case MAX_POOL_LIMIT_REACHED: cpl.maxPoolLimitReached(evt); break; case MAX_POOL_LIMIT_EXCEEDED: cpl.maxPoolLimitExceeded(evt); break; case MAX_SIZE_LIMIT_REACHED: cpl.maxSizeLimitReached(evt); break; case MAX_SIZE_LIMIT_ERROR: cpl.maxSizeLimitError(evt); break; case PARAMETERS_CHANGED: cpl.poolParametersChanged(evt); break; case POOL_FLUSHED: cpl.poolFlushed(evt); break;
/** * Fires a ConnectionPoolEvent.POOL_RELEASED event to all listeners. * This method performs the listener notification synchronously to ensure * all listeners receive the event before the event-dispatch thread is * shutdown. */ private void firePoolReleasedEvent() { if (listeners.isEmpty()) return; ConnectionPoolEvent poolEvent = new ConnectionPoolEvent(this, ConnectionPoolEvent.Type.POOL_RELEASED); // No copy of listeners needs to be taken as the collection is thread-safe. for (ConnectionPoolListener listener : listeners) { try { listener.poolReleased(poolEvent); } catch (RuntimeException rx) { log_warn("Exception thrown by listener on pool release", rx); } } }