You can use tailable cursorwith option Bytes.QUERYOPTION_AWAITDATA. Mongodb tail pointer documentation: https://docs.mongodb.com/manual/core/tailable-cursors/
... , , .
. , 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() {
while (cur.hasNext()) {
DBObject obj = cur.next();
System.out.println(obj);
}
};
}.start();
cursor.hasNext() , mongodb: db.model.insertOne({value: "val"})
, "capped":
java: mongoTemplates.createCollection("model", new CollectionOptions(MAX_SIZE_BYTES, MAX_NB_DOCUMENTS, IS_CAPPED));
mongo: db.createCollection( "model", { capped: true, size: 10 } )
Capped Collection :
MongoDB , . , Tailable Cursor, , .