Spring 集成提供非反應性入站/出站 WebSocket 適配器,簡單地說,通過內部容器將會話與 ID 關聯,您對消息進行一些處理,在出站時,它會檢查會話 ID 的消息頭,并通過該會話發送它。現在,隨著 Spring 通過 org.springframework.web.reactive.socket.WebSocketSession 和其他類提供反應式 WebSocket 支持,我想知道在反應式 WebSocket 堆棧的通道適配器方面有類似的支持。如果沒有,是否有任何常見的模式/實踐,如何將反應式 WS 與彈簧集成消息流集成?
2 回答

慕沐林林
TA貢獻2016條經驗 獲得超9個贊
這個功能還沒有被調用,所以我們還沒有考慮這個問題。
請看看我的SandBox。這是我能根據當前情況提出的最佳建議。
我們只是按照標準的 Spring WebFlux 建議來實現 WebSockets 解決方案。因此,我們有一個WebSocketHandler
帶有適當 URL 映射的實現。實現只是轉發一個Flux
從session.receive()
進入IntegrationFlow
動態注冊。然后將流轉換Publisher
為用于session.send()
.
我相信可以使用許多其他方法,例如使用FluxMessageChannel
bean 和它subscribeTo()
來自這個handle(WebSocketSession)
impl 來橋接Flux
預定義的集成流?;蛘?code>@MessagingGateway從doOnNext()
.
不過,不確定是否session.send()
可以在下游獨立使用(需要播放),但您可以在示例中看到我如何將 a 傳播WebSocketSession
到MessageHeaders
以在集成流中訪問它。
添加回答
舉報
0/150
提交
取消