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

时间:2019-03-20 01:44:43

标签: 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);

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

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

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

1 个答案:

答案 0 :(得分:2)

您可以从ChangeStreamIterable中获取一个可关闭的光标。

MongoCursor<ChangeStreamDocument<Document>> cursor = collection.watch().iterator();
cursor.close();