package com.dji.sample.component.websocket.config;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
|
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
|
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
|
import org.springframework.web.socket.config.annotation.WebSocketTransportRegistration;
|
|
/**
|
*
|
* @author sean.zhou
|
* @date 2021/11/17
|
* @version 0.1
|
*/
|
@EnableWebSocketMessageBroker
|
@Configuration
|
public class WebSocketMessageConfiguration implements WebSocketMessageBrokerConfigurer {
|
|
@Autowired
|
private AuthPrincipalHandler authPrincipalHandler;
|
|
@Autowired
|
private WebSocketDefaultFactory webSocketDefaultFactory;
|
|
@Override
|
public void registerStompEndpoints(StompEndpointRegistry registry) {
|
// Set the WebSocket connection address
|
registry.addEndpoint("/api/v1/ws").setAllowedOriginPatterns("*")
|
.setHandshakeHandler(authPrincipalHandler);
|
}
|
|
@Override
|
public void configureWebSocketTransport(WebSocketTransportRegistration registry) {
|
registry.addDecoratorFactory(webSocketDefaultFactory);
|
registry.setTimeToFirstMessage(60000 * 60 * 24 * 10);
|
}
|
|
}
|