What is JDBC connection pooling? Explain.
2025
What is JDBC connection pooling? Explain.
Show answer & explanation
Concept
Creating a new physical database connection requires network setup, authentication, and database resources.
Connection pooling keeps a managed set of reusable physical connections. An application borrows a connection handle for a unit of work and returns it to the pool instead of repeatedly creating and destroying a connection.
Application
At startup, a JDBC DataSource or pool manager creates or prepares connections using configured limits.
When application code requests a connection, the pool lends an available connection or waits or creates one within its maximum size.
The application runs JDBC statements and completes the transaction by commit or rollback.
Calling close() on the pooled connection returns it to the pool; it does not normally close the underlying physical connection.
The pool can validate idle connections, retire broken or expired ones, and enforce timeouts and maximum-size limits.
Cross-check
Without pooling, every request pays connection-establishment cost and can overload the database with uncontrolled connections.
With pooling, reuse reduces latency and bounds concurrent database connections, but code must still close each borrowed handle promptly and reset transaction state correctly.
Result
JDBC connection pooling is therefore a resource-management technique that improves performance, scalability, and connection control by safely reusing database connections.