如何从断开连接消息获取目的地?

时间:2019-12-08 15:47:35

标签: java spring websocket stomp

我在Spring Boot上有一个WebSocket应用程序。我使用STOMP,当用户关闭选项卡(与WS断开连接)时,我需要获取目标路径。我用@EventListener拦截了断开连接,或者从ChannelInterceptor扩展了连接并覆盖了preSend()

我尝试了多种方法-StompHeaderAccessor.getDestination()SessionDisconnectEvent.getMessage().getHeaders().get("simpDestination")等,但是它们都返回null。有没有可行的方法来解决问题?也许不使用拦截器,有所不同?

1 个答案:

答案 0 :(得分:1)

我无法谈论Spring的细节,但我认为从Stomp的角度来看,您所需的信息不可用。如Stomp 1.2 specification中所述,DISCONNECT框架不使用任何类型的目标标头。唯一可能的标头是receipthere说明了收据的语义。