Wie man die Session-Id im Frühjahr WebSocketStompClient?
How to get session id in Java Spring WebSocketStompClient?
Habe ich WebSocketStompClient und StompSessionHandlerAdapter, welche Instanzen Verbindung in Ordnung zu websocket auf meinem server. WebSocketStompClient verwenden SockJsClient.
Aber ich weiß nicht, wie get session id des websocket-Verbindung. In den code mit stomp session-handler auf client-Seite
private class ProducerStompSessionHandler extends StompSessionHandlerAdapter {
...
@Override
public void afterConnected(StompSession session, StompHeaders connectedHeaders) {
...
}
stomp-Sitzung enthält eine session-id, die verschiedene session-id auf dem server.
Also aus dieser ids:
DEBUG ... Processing SockJS open frame in WebSocketClientSockJsSession[id='d6aaeacf90b84278b358528e7d96454a...
DEBUG ... DefaultStompSession - Connection established in session id=42e95c88-cbc9-642d-2ff9-e5c98fb85754
Muss ich zuerst die session-id, von WebSocketClientSockJsSession.
Aber ich habe nicht gefunden in WebSocketStompClient oder SockJsClient jede Methode, um etwas abrufen, wie session-id...
Du musst angemeldet sein, um einen Kommentar abzugeben.
To get session id, die Sie brauchen, um zu definieren, Ihre eigenen interceptor als unten, und legen Sie die session-id als benutzerdefiniertes Attribut.
Jetzt können Sie die gleiche session-id in der controller-Klasse.
HttpSessionHandshakeInterceptor
.Können Sie
@Header
annotation zugreifen sessionId:Und es funktioniert gut für mich ohne jede benutzerdefinierte Abfangjäger
Es ist ein Weg, zu extrahieren, sockjs sessionId per Reflection API:
Kann hier gesehen werden: tutorial