diff --git a/samples/snippets/src/main/java/com/example/firestore/Quickstart.java b/samples/snippets/src/main/java/com/example/firestore/Quickstart.java index 2c37ad131..d98d51270 100644 --- a/samples/snippets/src/main/java/com/example/firestore/Quickstart.java +++ b/samples/snippets/src/main/java/com/example/firestore/Quickstart.java @@ -205,5 +205,11 @@ public static void main(String[] args) throws Exception { String projectId = (args.length == 0) ? null : args[0]; Quickstart quickStart = (projectId != null) ? new Quickstart(projectId) : new Quickstart(); quickStart.run(); + quickStart.close(); + } + + /** Closes the gRPC channels associated with this instance and frees up their resources. */ + void close() throws Exception { + db.close(); } } diff --git a/samples/snippets/src/main/java/com/example/firestore/snippets/ListenDataSnippets.java b/samples/snippets/src/main/java/com/example/firestore/snippets/ListenDataSnippets.java index 8bc9bc146..2f4093ded 100644 --- a/samples/snippets/src/main/java/com/example/firestore/snippets/ListenDataSnippets.java +++ b/samples/snippets/src/main/java/com/example/firestore/snippets/ListenDataSnippets.java @@ -222,4 +222,8 @@ public void onEvent(@Nullable QuerySnapshot snapshots, // [END listen_errors] } + /** Closes the gRPC channels associated with this instance and frees up their resources. */ + void close() throws Exception { + db.close(); + } } diff --git a/samples/snippets/src/main/java/com/example/firestore/snippets/ManageDataSnippets.java b/samples/snippets/src/main/java/com/example/firestore/snippets/ManageDataSnippets.java index 1af40dd2c..be8c1b618 100644 --- a/samples/snippets/src/main/java/com/example/firestore/snippets/ManageDataSnippets.java +++ b/samples/snippets/src/main/java/com/example/firestore/snippets/ManageDataSnippets.java @@ -469,4 +469,8 @@ public void updateDocumentIncrement() throws ExecutionException, InterruptedExce updateFuture.get(); } + /** Closes the gRPC channels associated with this instance and frees up their resources. */ + void close() throws Exception { + db.close(); + } } diff --git a/samples/snippets/src/main/java/com/example/firestore/snippets/QueryDataSnippets.java b/samples/snippets/src/main/java/com/example/firestore/snippets/QueryDataSnippets.java index 5ef7bee99..37bdc5b77 100644 --- a/samples/snippets/src/main/java/com/example/firestore/snippets/QueryDataSnippets.java +++ b/samples/snippets/src/main/java/com/example/firestore/snippets/QueryDataSnippets.java @@ -644,4 +644,9 @@ Query filterNotIn() { // [END fs_filter_not_in] return query; } + + /** Closes the gRPC channels associated with this instance and frees up their resources. */ + void close() throws Exception { + db.close(); + } } diff --git a/samples/snippets/src/main/java/com/example/firestore/snippets/RetrieveDataSnippets.java b/samples/snippets/src/main/java/com/example/firestore/snippets/RetrieveDataSnippets.java index 3e9afb137..26d6e54be 100644 --- a/samples/snippets/src/main/java/com/example/firestore/snippets/RetrieveDataSnippets.java +++ b/samples/snippets/src/main/java/com/example/firestore/snippets/RetrieveDataSnippets.java @@ -171,4 +171,9 @@ public Iterable listCollections() throws Exception { // [END fs_get_collections] return collections; } + + /** Closes the gRPC channels associated with this instance and frees up their resources. */ + void close() throws Exception { + db.close(); + } } diff --git a/samples/snippets/src/test/java/com/example/firestore/BaseIntegrationTest.java b/samples/snippets/src/test/java/com/example/firestore/BaseIntegrationTest.java index 539394941..e6b6a1790 100644 --- a/samples/snippets/src/test/java/com/example/firestore/BaseIntegrationTest.java +++ b/samples/snippets/src/test/java/com/example/firestore/BaseIntegrationTest.java @@ -28,6 +28,7 @@ import com.google.cloud.firestore.FirestoreOptions; import com.google.cloud.firestore.QuerySnapshot; import java.util.Map; +import org.junit.AfterClass; import org.junit.BeforeClass; /** @@ -83,4 +84,8 @@ protected static void deleteAllDocuments(Firestore db) throws Exception { } } + @AfterClass + public static void tearDownAfterClass() throws Exception { + db.close(); + } } diff --git a/samples/snippets/src/test/java/com/example/firestore/QuickstartIT.java b/samples/snippets/src/test/java/com/example/firestore/QuickstartIT.java index 3a7c9bb1b..3225a4f5e 100644 --- a/samples/snippets/src/test/java/com/example/firestore/QuickstartIT.java +++ b/samples/snippets/src/test/java/com/example/firestore/QuickstartIT.java @@ -113,5 +113,6 @@ private void deleteAllDocuments() throws Exception { @After public void tearDown() throws Exception { deleteAllDocuments(); + quickstart.close(); } } diff --git a/samples/snippets/src/test/java/com/example/firestore/snippets/ListenDataSnippetsIT.java b/samples/snippets/src/test/java/com/example/firestore/snippets/ListenDataSnippetsIT.java index 105280d1e..55d82c4cb 100644 --- a/samples/snippets/src/test/java/com/example/firestore/snippets/ListenDataSnippetsIT.java +++ b/samples/snippets/src/test/java/com/example/firestore/snippets/ListenDataSnippetsIT.java @@ -75,5 +75,6 @@ public void testListenForChanges() throws Exception { @AfterClass public static void tearDown() throws Exception { deleteAllDocuments(db); + listenDataSnippets.close(); } } diff --git a/samples/snippets/src/test/java/com/example/firestore/snippets/ManageDataSnippetsIT.java b/samples/snippets/src/test/java/com/example/firestore/snippets/ManageDataSnippetsIT.java index f06361396..fc0f3f689 100644 --- a/samples/snippets/src/test/java/com/example/firestore/snippets/ManageDataSnippetsIT.java +++ b/samples/snippets/src/test/java/com/example/firestore/snippets/ManageDataSnippetsIT.java @@ -202,5 +202,6 @@ public void testUpdateDocumentIncrementSuccessful() throws Exception { public static void tearDown() throws Exception { manageDataSnippets.deleteCollection(db.collection("cities"), 10); manageDataSnippets.deleteCollection(db.collection("users"), 10); + manageDataSnippets.close(); } } diff --git a/samples/snippets/src/test/java/com/example/firestore/snippets/QueryDataSnippetsIT.java b/samples/snippets/src/test/java/com/example/firestore/snippets/QueryDataSnippetsIT.java index 189a454b6..19b477d26 100644 --- a/samples/snippets/src/test/java/com/example/firestore/snippets/QueryDataSnippetsIT.java +++ b/samples/snippets/src/test/java/com/example/firestore/snippets/QueryDataSnippetsIT.java @@ -284,5 +284,6 @@ private List getResults(Query query) throws Exception { @AfterClass public static void tearDown() throws Exception { deleteAllDocuments(db); + queryDataSnippets.close(); } } diff --git a/samples/snippets/src/test/java/com/example/firestore/snippets/RetrieveDataSnippetsIT.java b/samples/snippets/src/test/java/com/example/firestore/snippets/RetrieveDataSnippetsIT.java index 8a8482350..10cbf44e5 100644 --- a/samples/snippets/src/test/java/com/example/firestore/snippets/RetrieveDataSnippetsIT.java +++ b/samples/snippets/src/test/java/com/example/firestore/snippets/RetrieveDataSnippetsIT.java @@ -126,5 +126,6 @@ private static void deleteAllDocuments() throws Exception { @AfterClass public static void tearDownAfterClass() throws Exception { deleteAllDocuments(); + retrieveDataSnippets.close(); } }