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