停止使用Java驱动程序观看MongoDB更改流

Phi*_*aar 5 java mongodb

MongoDB Java驱动程序清楚地说明了如何监视集合并启动/打开更改流,即ChangeStreamIterable:

http://mongodb.github.io/mongo-java-driver/3.9/driver/tutorials/change-streams/

MongoClient mongoClient = MongoClients.create(new ConnectionString("mongodb://localhost:27017,localhost:27018,localhost:27019"));
MongoDatabase database = mongoClient.getDatabase("test");
MongoCollection<Document> collection = database.getCollection("restaurants");

collection.watch().forEach(printBlock);
Run Code Online (Sandbox Code Playgroud)

但是没有关于关闭更改流的解释,API似乎也不支持关闭操作。

为什么不可能呢?是没有必要还是仅仅是疏忽?

适用于所有版本的标准,异步和反应驱动程序。

小智 2

您可以从 ChangeStreamIterable 中获取可关闭的游标。

MongoCursor<ChangeStreamDocument<Document>> cursor = collection.watch().iterator();
cursor.close();
Run Code Online (Sandbox Code Playgroud)