1
我正在使用Spring Webflux,Spring Data和Project Reactor进行非阻塞I/O(Spring Boot 2.0.0.M7)。有限源上的反应流保持未来事件打开
我的目标是创建一个类似股票代码的API,以允许客户端根据某些条件从端点请求所有资源,并接收在初始请求之后创建的新资源。 Reactive MongoDB是后备存储。基本的HandlerFunction
实现如下所示。
Mono<ServerResponse> getFoos(ServerRequest request) {
ok().contentType(TEXT_EVENT_STREAM)
.body(fooRepository.findAll(), Foo)
}
显然,这只是返回所有Foos
当前可用,那么Publisher
关闭连接,并没有新的Foos
被发送到客户端。我的问题是用什么样的模式来添加一个无限的流到这个可以接受新条目?
- 的毗连与一些全球
Publisher Bean
我写新Foos
为他们创造 - 添加
onComplete
其重新订阅到Repository
(有一些标准来筛选重复的条目) - 使用
repeat
,让客户端过滤副本 - 还有其他?
只是后续问题。这是否意味着,我们需要创建一个单独的集合(封顶)以使其工作? – pvpkiran
集合的确需要加盖。这是MongoDB具备此功能的条件。 –
谢谢。对于MongoDB也是新手,我没有阅读文档中的Mongo特定部分。 – JudgingNotJudging