我正在使用 Spring Boot 应用程序。我正在尝试为 MongoDB 中的集合修改实现基于回调的事件通知。我已经没有想法了,因为我尝试了以下方法:
经典轮询 - 冗余,因为现有实现是由 UI 轮询的 REST 端点,它在其中查询数据。
Tailable Cursors - 需要对集合设置上限,这可能是一个限制,对于具有非常高存储预测的数据库来说是不够的。
更改流 - 我收到运行时异常,指出存储引擎不支持“多数阅读关注”。
collection.watch(asList(Aggregates.match(Filters.in("operationType", asList("insert", "update"))))).forEach(printBlock);
我无权查看引擎配置,但我假设如果 DBA 不能将存储引擎更改为wiredTiger,那么我就不能使用更改流。这个对吗?还有其他解决方案吗?spring 的 mongodb-reactive API 怎么样?我的印象是 API 仍然依赖于可尾游标或更改流。