in src/main/java/org/apache/commons/dbcp2/BasicDataSource.java [1535:1559]
public void invalidateConnection(final Connection connection) throws IllegalStateException {
if (connection == null) {
return;
}
if (connectionPool == null) {
throw new IllegalStateException("Cannot invalidate connection: ConnectionPool is null.");
}
final PoolableConnection poolableConnection;
try {
poolableConnection = connection.unwrap(PoolableConnection.class);
if (poolableConnection == null) {
throw new IllegalStateException(
"Cannot invalidate connection: Connection is not a poolable connection.");
}
} catch (final SQLException e) {
throw new IllegalStateException("Cannot invalidate connection: Unwrapping poolable connection failed.", e);
}
try {
connectionPool.invalidateObject(poolableConnection);
} catch (final Exception e) {
throw new IllegalStateException("Invalidating connection threw unexpected exception", e);
}
}