Beginning with version 0.3.1, Concourse provides a framework for creating pools of cached database connections. Applications that use connection pools may benefit from increased performance since requests can take advantage of previously established connections and therefore avoid the overhead of creating new ones.
Concourse supports both fixed and cached connection pools. A FixedConnectionPool maintains a fixed number of connections for the duration of its use. If all the connections from a fixed pool are taken, then subsequent requests will block until a connection is returned to the pool. On the other hand, a CachedConnectionPool never blocks and will create new connections on demand if the pool does not have any available to service a request.
You can create both kinds of connection pools by calling the appropriately named static factory method in the ConnectionPool class.
ConnectionPool connections = ConnectionPool.newFixedConnectionPool(host, port, username, password, poolSize); |
ConnectionPool connections = ConnectionPool.newCachedConnectionPool(host, port, username, password); |
void close() throws Exception |
Closes this resource, relinquishing any underlying resources. This method is invoked automatically on objects managed by the try-with-resources statement.
boolean hasAvailableConnections() |
Return true if this pool has any available connections.
Returns
void release(Concourse connection) |
Return a previously requested connection back to the pool.
Parameters
Concourse request() |
Request a connection from the pool and possibly block until one is available.
Returns