public ListenableFuture<Connection> getAsyncConnection(){

		return this.asyncExecutor.submit(new Callable<Connection>() {

			public Connection call() throws Exception {
				return getConnection();
			}});
	}
public ListenableFuture < Connection > getAsyncConnection ( ) { return this . asyncExecutor . submit ( new Callable < Connection > ( ) { public Connection call ( ) throws Exception { return getConnection ( ) ; } } ) ; }
Obtain a connection asynchronously by queueing a request to obtain a connection in a separate thread.

Use as follows:<p>
Future&lt;Connection&gt; result = pool.getAsyncConnection();<p>
... do something else in your application here ...<p>
Connection connection = result.get(); // get the connection<p>

@return A Future task returning a connection.