为了账号安全,请及时绑定邮箱和手机立即绑定

Spring 集成和响应式 WebSockets

Spring 集成和响应式 WebSockets

Cats萌萌 2021-09-15 14:49:23
Spring 集成提供非反应性入站/出站 WebSocket 适配器,简单地说,通过内部容器将会话与 ID 关联,您对消息进行一些处理,在出站时,它会检查会话 ID 的消息头,并通过该会话发送它。现在,随着 Spring 通过 org.springframework.web.reactive.socket.WebSocketSession 和其他类提供反应式 WebSocket 支持,我想知道在反应式 WebSocket 堆栈的通道适配器方面有类似的支持。如果没有,是否有任何常见的模式/实践,如何将反应式 WS 与弹簧集成消息流集成?
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

这个功能还没有被调用,所以我们还没有考虑这个问题。

请看看我的SandBox。这是我能根据当前情况提出的最佳建议。

我们只是按照标准的 Spring WebFlux 建议来实现 WebSockets 解决方案。因此,我们有一个WebSocketHandler带有适当 URL 映射的实现。实现只是转发一个Fluxsession.receive()进入IntegrationFlow动态注册。然后将流转换Publisher为用于session.send().

我相信可以使用许多其他方法,例如使用FluxMessageChannelbean 和它subscribeTo()来自这个handle(WebSocketSession)impl 来桥接Flux预定义的集成流。或者@MessagingGatewaydoOnNext().

不过,不确定是否session.send()可以在下游独立使用(需要播放),但您可以在示例中看到我如何将 a 传播WebSocketSessionMessageHeaders以在集成流中访问它。


查看完整回答
反对 回复 2021-09-15
  • 2 回答
  • 0 关注
  • 197 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信