Я использую драйвер Java mongodb версии 3.8.0 и mongodb 3.6.3.
Я создал часы для коллекции с этим:
MongoCursor<ChangeStreamDocument<Document>> cursor = collection.watch().maxAwaitTime(500, TimeUnit.MILLISECONDS).iterator();
Документация здесь сообщает о maxAwaitTime:
Максимальное время ожидания сервером новых документов для удовлетворения запроса потока изменений.
Тем не менее, я вижу, что cursor.hasNext () возвращается, только если в коллекции есть изменения, а не по истечении времени, переданного maxAwaitTime.
Когда я включаю подробное ведение журнала mongodb, я вижу maxWaitTime, установленный, как и ожидалось, в команде getMore.
Как заставить мои часы отключаться, когда нет изменений? Кажется, что maxAwaitTime должен сделать это. Почему это не работает?