41 lines
1.5 KiB
Java
41 lines
1.5 KiB
Java
package de.ph87.mc.websocket;
|
|
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
|
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
|
|
import org.springframework.web.bind.annotation.CrossOrigin;
|
|
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
|
|
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
|
|
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
|
|
|
|
@CrossOrigin
|
|
@Configuration
|
|
@EnableWebSocketMessageBroker
|
|
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
|
|
|
|
public static final String DESTINATION = "";
|
|
|
|
@Override
|
|
public void registerStompEndpoints(StompEndpointRegistry registry) {
|
|
registry.addEndpoint("/ws").setAllowedOrigins("*");
|
|
}
|
|
|
|
@Override
|
|
public void configureMessageBroker(MessageBrokerRegistry config) {
|
|
config.enableSimpleBroker(DESTINATION).setHeartbeatValue(new long[]{2000, 2000}).setTaskScheduler(heartBeatScheduler());
|
|
}
|
|
|
|
@Bean
|
|
public ThreadPoolTaskScheduler heartBeatScheduler() {
|
|
final ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
|
|
scheduler.setThreadNamePrefix("wss-heartbeat-");
|
|
scheduler.setPoolSize(1);
|
|
scheduler.setRemoveOnCancelPolicy(true);
|
|
scheduler.setAwaitTerminationSeconds(5);
|
|
scheduler.setWaitForTasksToCompleteOnShutdown(true);
|
|
return scheduler;
|
|
}
|
|
|
|
}
|