如何传递本机标头以断开事件?

时间:2018-04-11 19:52:44

标签: spring-mvc websocket stomp spring-websocket sockjs

我一直在尝试使用StompJS传递本机头来断开事件,但我不知道如何声明它们(我想它必须是类似于此处描述的连接事件的方法:http://www.sergialmar.com/2014/03/detect-websocket-connects-and-disconnects-in-spring-4/)< / p>

事件监听器如下所示:

@Component
public class DocumentStompDisconnectEvent implements ApplicationListener<SessionDisconnectEvent> {

    @Override
    @EventListener
    public void onApplicationEvent(SessionDisconnectEvent event) {
        StompHeaderAccessor sha = StompHeaderAccessor.wrap(event.getMessage());

        String documentId = sha.getNativeHeader("documentId").get(0);
        System.out.println("Disconnect event [documentId: " + documentId + "]");        
    }
}

当我尝试将这些标题传递给连接事件时,它可以正常工作:

function connect() {
    stompClient = Stomp.over(socket);
    stompClient.connect({userId: "${userId}", documentId: "${documentId}"}, function (frame) {

但目前我不知道如何将它们传递给断开事件。

0 个答案:

没有答案