您可以使用带有选项Bytes.QUERYOPTION_AWAITDATA的tailable游标.关于
Mongodb的tailable游标的文档:
https://docs.mongodb.com/manual/core/tailable-cursors/
… After clients insert new additional documents into a capped
collection, the tailable cursor will continue to retrieve documents.
使用未满足的查询检索文档时,将返回空光标.然后,当你调用cur.hasNext()时,它将等待数据出现(超时):
mongoTemplates.createCollection("model", new CollectionOptions(null, 10, true));
DBObject query = new BasicDBObject("value", "val");
DBCursor cur = mongoTemplates.getCollection("model")
.find(query)
.addOption(Bytes.QUERYOPTION_TAILABLE)
.addOption(Bytes.QUERYOPTION_AWAITDATA);
new Thread() {
public void run() {
//cur.hasNext will wait for data
while (cur.hasNext()) {
DBObject obj = cur.next();
System.out.prin