【发布时间】:2021-12-14 15:57:06
【问题描述】:
我有一个带有 Websocket 和 Stomp 的 Spring 应用程序以及一个 RabbitMQ 服务器集群。 Websocket 客户端配置为发送心跳,RabbitMQ 响应正常。我在我的服务器之间保留所有 Websocket 会话的分布式缓存,并在添加或删除连接时更新缓存。但是,如果服务器出现故障,或者在没有触发适当事件的情况下丢失连接,则该服务器上所有断开连接的连接都将使用我当前的配置保留在缓存中。我正在考虑在 Hazelcast 上设置空闲时间,并以某种方式捕捉心跳并在缓存上执行包含/获取以刷新项目。但是,我既无法使用@MessageMapping 捕捉控制器中的心跳,也无法找到心跳的侦听器。我怎样才能做到这一点?
【问题讨论】:
标签: spring-boot rabbitmq spring-websocket stomp