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

How to get destination from disconnect message?

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

我尝试了很多方法 - StompHeaderAccessor.getDestination()SessionDisconnectEvent.getMessage().getHeaders().get("simpDestination") 等,但它们都 return 无效。有没有一种可行的方法来获取路径?也许不使用拦截器,以某种方式不同?

我不能说 Spring 细节,但我认为从 Stomp 的角度来看,您想要的信息不可用。如 Stomp 1.2 specification, the DISCONNECT frame doesn't use any kind of destination header. The only possible header is receipt. The semantics of receipts are explained here.

中所述