Java 如何使用Spring数据mongodb从封顶集合流式传输

Java 如何使用Spring数据mongodb从封顶集合流式传输,java,spring,reactive-programming,spring-data-mongodb,project-reactor,Java,Spring,Reactive Programming,Spring Data Mongodb,Project Reactor,我正在尝试使用这个有趣的存储库方法: @Tailable Flux<Movie> findWithTailableCursorBy(); 这是控制器方法: @GetMapping(value = "/tail", produces = MediaType.TEXT_EVENT_STREAM_VALUE) Flux<Movie> allTail() { return movieRepository.findWithTailableCursorBy(); } @G

我正在尝试使用这个有趣的存储库方法:

@Tailable
Flux<Movie> findWithTailableCursorBy();
这是控制器方法:

@GetMapping(value = "/tail", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
Flux<Movie> allTail() {
    return movieRepository.findWithTailableCursorBy();
}
@GetMapping(value=“/tail”,products=MediaType.TEXT\u EVENT\u STREAM\u value)
通量allTail(){
返回movieRepository.findWithTailableCursorBy();
}
我也不例外, 我只是在浏览器中看到一个白色页面,没有新文档流。我漏了一步吗


提前谢谢你

您的问题中有两个方面不符合您的目标:

  • 您的代码包含阻塞位:
    block()
    。在启动期间或接收由反应式基础结构触发的事件时,不要在初始值设定项和事件处理程序中调用
    .block()
    。阻塞是破坏任何功能并使应用程序失效的最简单方法
  • 浏览器不是使用具有页面视图的流的理想工具。而是使用
    cURL

  • 除此之外,您似乎在
    Flux
    Flux

    之间存在不匹配问题,该问题来自spring security webflux的SecurityWebFilterChain。我应该联系相关人员通知他们。
    谢谢你的支持

    您正在创建电影并查询人物。这是什么?这是否正确?您是否已启用
    @enableeractivemongoresposities
    ,并且是否确定已将记录插入mongo。因为我手动将文档添加到mongo中,您的代码可以正常工作。持久性没有问题,一切都很好。数据初始值设定项将文档添加到capped集合。我可以请求所有文档流量,甚至当我添加这个注释时(也可以通过在类路径中看到dep自动引导处理),我再次得到了相同的结果。是的。我们就像桃子一样,嗨,我喜欢它。我曾经在chrome上一个接一个地打印Stream.generate()事件流,做得很好,但我将使用curl。再次为我编辑的内容感到抱歉。
    @GetMapping(value = "/tail", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
    Flux<Movie> allTail() {
        return movieRepository.findWithTailableCursorBy();
    }