2016-05-25 6 views
2

Ich habe eine Spring-Boot-Anwendung für die Web-Socket-Verbindung mit TextWebSocketHandler und überschreiben handleTextMessage erstellt.spring-websockets So senden Sie einen Parameter bei geöffneter Verbindung

Aber ich habe eine Anforderung, dass, wenn der Benutzer versucht, eine Verbindung zu diesem Endpunkt Ich möchte mit einigen Token validieren. Jetzt weiß ich, dass ich afterConnectionEstablished und afterConnectionClosed Methode überschreiben kann, aber ist es möglich, einige Anfrage Parameter oder Pfadparameter beim Erstellen von Socket-Verbindung zu erhalten, so dass ich die Details speichern kann, zu welchem ​​Benutzer diese Sitzung gehört.

Ich konnte dies mit JavaEE7 Anmerkungen tun, wie folgt, aber ich bin gezwungen wird Frühling zu verwenden:

@ServerEndpoint("/ss/{token}") 
public class SocketServerEndpoint { 
    @Autowired 
    private SService ssService; 

    @OnOpen 
    public void open(Session session, @PathParam("token")String token) throws SSException { 
     ssService.processConnectionRequest(token, session); 
    } 

    @OnMessage 
    public String handleMessage(String message, Session session) { 
     ssService.processMessage(message); 
     return "message_received"; 
    } 

    @OnClose 
    public void close(Session session) { 
     ssService.removeSession(session); 
    } 
} 

: Ich bin im Spring-Boot und Spring Web Sockets und nicht in der Lage, einen Weg, um herauszufinden, bitte Hilfe !!!

Antwort