Pool for keeping track of Spanner instances needed for connections.
When a connection is opened for a Google Cloud Spanner database, a Spanner object can
be opened in the background. The SpannerPool keeps track of which Spanner objects
have been opened by connections during the lifetime of the JVM, which connections are still
opened and closed, and which Spanner objects could be closed.
Call the method SpannerPool#closeSpannerPool() at the end of your application to
gracefully shut down all instances in the pool.
Closes the default SpannerPool and all Spanner instances that have been opened
by connections and that are still open. Call this method at the end of your application to
gracefully close all Spanner instances in the pool. Failing to call this method will
keep your application running for 60 seconds after you close the last java.sql.Connection to Cloud Spanner, as this is the default timeout before the SpannerPool closes the unused Spanner instances.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Class SpannerPool (6.98.1)\n\nVersion latestkeyboard_arrow_down\n\n- [6.98.1 (latest)](/java/docs/reference/google-cloud-spanner/latest/com.google.cloud.spanner.connection.SpannerPool)\n- [6.98.0](/java/docs/reference/google-cloud-spanner/6.98.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.97.1](/java/docs/reference/google-cloud-spanner/6.97.1/com.google.cloud.spanner.connection.SpannerPool)\n- [6.96.1](/java/docs/reference/google-cloud-spanner/6.96.1/com.google.cloud.spanner.connection.SpannerPool)\n- [6.95.1](/java/docs/reference/google-cloud-spanner/6.95.1/com.google.cloud.spanner.connection.SpannerPool)\n- [6.94.0](/java/docs/reference/google-cloud-spanner/6.94.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.93.0](/java/docs/reference/google-cloud-spanner/6.93.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.89.0](/java/docs/reference/google-cloud-spanner/6.89.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.88.0](/java/docs/reference/google-cloud-spanner/6.88.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.87.0](/java/docs/reference/google-cloud-spanner/6.87.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.86.0](/java/docs/reference/google-cloud-spanner/6.86.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.85.0](/java/docs/reference/google-cloud-spanner/6.85.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.83.0](/java/docs/reference/google-cloud-spanner/6.83.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.82.0](/java/docs/reference/google-cloud-spanner/6.82.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.80.1](/java/docs/reference/google-cloud-spanner/6.80.1/com.google.cloud.spanner.connection.SpannerPool)\n- [6.79.0](/java/docs/reference/google-cloud-spanner/6.79.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.77.0](/java/docs/reference/google-cloud-spanner/6.77.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.74.1](/java/docs/reference/google-cloud-spanner/6.74.1/com.google.cloud.spanner.connection.SpannerPool)\n- [6.72.0](/java/docs/reference/google-cloud-spanner/6.72.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.71.0](/java/docs/reference/google-cloud-spanner/6.71.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.69.0](/java/docs/reference/google-cloud-spanner/6.69.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.68.0](/java/docs/reference/google-cloud-spanner/6.68.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.66.0](/java/docs/reference/google-cloud-spanner/6.66.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.65.1](/java/docs/reference/google-cloud-spanner/6.65.1/com.google.cloud.spanner.connection.SpannerPool)\n- [6.62.0](/java/docs/reference/google-cloud-spanner/6.62.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.60.0](/java/docs/reference/google-cloud-spanner/6.60.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.58.0](/java/docs/reference/google-cloud-spanner/6.58.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.57.0](/java/docs/reference/google-cloud-spanner/6.57.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.56.0](/java/docs/reference/google-cloud-spanner/6.56.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.55.0](/java/docs/reference/google-cloud-spanner/6.55.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.54.0](/java/docs/reference/google-cloud-spanner/6.54.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.53.0](/java/docs/reference/google-cloud-spanner/6.53.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.52.1](/java/docs/reference/google-cloud-spanner/6.52.1/com.google.cloud.spanner.connection.SpannerPool)\n- [6.51.0](/java/docs/reference/google-cloud-spanner/6.51.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.50.1](/java/docs/reference/google-cloud-spanner/6.50.1/com.google.cloud.spanner.connection.SpannerPool)\n- [6.49.0](/java/docs/reference/google-cloud-spanner/6.49.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.25.1](/java/docs/reference/google-cloud-spanner/6.25.1/com.google.cloud.spanner.connection.SpannerPool)\n- [6.24.0](/java/docs/reference/google-cloud-spanner/6.24.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.23.4](/java/docs/reference/google-cloud-spanner/6.23.4/com.google.cloud.spanner.connection.SpannerPool)\n- [6.22.0](/java/docs/reference/google-cloud-spanner/6.22.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.21.2](/java/docs/reference/google-cloud-spanner/6.21.2/com.google.cloud.spanner.connection.SpannerPool)\n- [6.20.0](/java/docs/reference/google-cloud-spanner/6.20.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.19.1](/java/docs/reference/google-cloud-spanner/6.19.1/com.google.cloud.spanner.connection.SpannerPool)\n- [6.18.0](/java/docs/reference/google-cloud-spanner/6.18.0/com.google.cloud.spanner.connection.SpannerPool)\n- [6.17.4](/java/docs/reference/google-cloud-spanner/6.17.4/com.google.cloud.spanner.connection.SpannerPool)\n- [6.14.1](/java/docs/reference/google-cloud-spanner/6.14.1/com.google.cloud.spanner.connection.SpannerPool) \n\n public class SpannerPool\n\nPool for keeping track of [Spanner](/java/docs/reference/google-cloud-spanner/latest/com.google.cloud.spanner.Spanner) instances needed for connections.\n\nWhen a connection is opened for a Google Cloud Spanner database, a [Spanner](/java/docs/reference/google-cloud-spanner/latest/com.google.cloud.spanner.Spanner) object can\nbe opened in the background. The [SpannerPool](/java/docs/reference/google-cloud-spanner/latest/com.google.cloud.spanner.connection.SpannerPool) keeps track of which [Spanner](/java/docs/reference/google-cloud-spanner/latest/com.google.cloud.spanner.Spanner) objects\nhave been opened by connections during the lifetime of the JVM, which connections are still\nopened and closed, and which [Spanner](/java/docs/reference/google-cloud-spanner/latest/com.google.cloud.spanner.Spanner) objects could be closed.\n\nCall the method [SpannerPool#closeSpannerPool()](/java/docs/reference/google-cloud-spanner/latest/com.google.cloud.spanner.connection.SpannerPool#com_google_cloud_spanner_connection_SpannerPool_closeSpannerPool__) at the end of your application to\ngracefully shut down all instances in the pool. \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e SpannerPool \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nStatic Methods\n--------------\n\n### closeSpannerPool()\n\n public static void closeSpannerPool()\n\nCloses the default [SpannerPool](/java/docs/reference/google-cloud-spanner/latest/com.google.cloud.spanner.connection.SpannerPool) and all [Spanner](/java/docs/reference/google-cloud-spanner/latest/com.google.cloud.spanner.Spanner) instances that have been opened\nby connections and that are still open. Call this method at the end of your application to\ngracefully close all [Spanner](/java/docs/reference/google-cloud-spanner/latest/com.google.cloud.spanner.Spanner) instances in the pool. Failing to call this method will\nkeep your application running for 60 seconds after you close the last java.sql.Connection to Cloud Spanner, as this is the default timeout before the [SpannerPool](/java/docs/reference/google-cloud-spanner/latest/com.google.cloud.spanner.connection.SpannerPool) closes the unused [Spanner](/java/docs/reference/google-cloud-spanner/latest/com.google.cloud.spanner.Spanner) instances."]]