我正在尝试使用这个有趣的存储库方法:
@Tailable
Flux<Movie> findWithTailableCursorBy();
通过在控制器中公开,
要流式处理封顶集合中新保存的文档,请执行以下操作:
这是一个DataAppInitializer:
@EventListener(ApplicationReadyEvent.class)
public void run(ApplicationReadyEvent evt) {
operations.collectionExists(Movie.class)
.flatMap(exists -> exists ? operations.dropCollection(Movie.class) : Mono.just(exists))
.then(operations.createCollection(Movie.class, CollectionOptions.empty()
.size(256 * 256)
.maxDocuments(10)
.capped()))
.thenMany(operations.insertAll(Flux.just("Jeyda", "Kaf Efrit").map(title-> new Movie(title)).collectList()))
.subscribe();
}
这是控制器方法:
@GetMapping(value = "/tail", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
Flux<Movie> allTail() {
return movieRepository.findWithTailableCursorBy();
}
我也不例外,
我只是在浏览器中看到一个白色页面,没有新文档流。我错过了一步吗?
提前感谢您!