Class PoolExhaustedException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.sql.SQLException
org.apache.tomcat.jdbc.pool.PoolExhaustedException
- All Implemented Interfaces:
Serializable, Iterable<Throwable>
Exception thrown when the connection pool is exhausted and no connections are available. The caller of a synchronous
borrow that is refused - one whose wait on the empty pool timed out - receives it directly. On the asynchronous path
of
ConnectionPool.getConnectionAsync() the same exhaustion is absorbed into a wait instead and never surfaces
as this exception: an exhausted pool surfaces there through the Future as a
TimeoutException for a timed wait, a CancellationException
when the pool closes under the waiter, or an ExecutionException carrying the underlying
failure when the wait could not be completed.- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a PoolExhaustedException with no detail message.PoolExhaustedException(String reason) Constructs a PoolExhaustedException with the specified detail message.PoolExhaustedException(String reason, String sqlState) Constructs a PoolExhaustedException with the specified detail message and SQL state.PoolExhaustedException(String reason, String sqlState, int vendorCode) Constructs a PoolExhaustedException with the specified detail message, SQL state, and vendor code.PoolExhaustedException(String reason, String sqlState, int vendorCode, Throwable cause) Constructs a PoolExhaustedException with the specified detail message, SQL state, vendor code, and cause.PoolExhaustedException(String reason, String sqlState, Throwable cause) Constructs a PoolExhaustedException with the specified detail message, SQL state, and cause.PoolExhaustedException(String reason, Throwable cause) Constructs a PoolExhaustedException with the specified detail message and cause.PoolExhaustedException(Throwable cause) Constructs a PoolExhaustedException with the specified cause. -
Method Summary
Methods inherited from class SQLException
getErrorCode, getNextException, getSQLState, iterator, setNextExceptionMethods inherited from class Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Iterable
forEach, spliterator
-
Field Details
-
SQL_STATE
SQL state reported with pool-exhaustion failures:"HY000", the general error class. Pool exhaustion is a pool-side condition rather than a database error, so none of the connection-class states (the08xxxfamily, which describe the session itself failing) says exactly this; still, consumers that multiplex manySQLExceptionsources and classify them by state need a non-null label to sort on. HY000 is shared with unrelated driver-reported general errors, so a state-based classifier should treat the state as a pointer and corroborate it withinstanceof PoolExhaustedExceptionrather than treat it as exclusive to pool exhaustion. The state is stamped by the message-only constructor the pool throws through; the constructors that mirror theSQLExceptionsignatures without a state parameter (no-arg and cause-only) carry none, as those super-signatures take none, and an explicitly given state always wins.- See Also:
-
-
Constructor Details
-
PoolExhaustedException
public PoolExhaustedException()Constructs a PoolExhaustedException with no detail message. -
PoolExhaustedException
-
PoolExhaustedException
Constructs a PoolExhaustedException with the specified cause.- Parameters:
cause- the cause of this exception
-
PoolExhaustedException
-
PoolExhaustedException
-
PoolExhaustedException
-
PoolExhaustedException
-
PoolExhaustedException
Constructs a PoolExhaustedException with the specified detail message, SQL state, vendor code, and cause.- Parameters:
reason- the detail messagesqlState- the SQL state codevendorCode- the vendor-specific error codecause- the cause of this exception
-