Я пытаюсь добавить соединение с веб-сокетом в мое приложение весенней загрузки, я привык иметь дело только с протоколом Https, но мне нужно иметь это соединение с веб-сокетом, чтобы продолжать отправлять уведомления в веб-интерфейс. Я добавил эту зависимость <org.springframework.boot:spring-boot-starter-websocket:2.0.0.RELEASE>
, потому что по какой-то причине мое приложение не выполняет версию 2.4.5 Spring-Starter-Websocket.
У меня есть один класс конфигурации для включения этого соединения, вот этот класс код:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/api").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry config){
config.enableSimpleBroker("/topic/");
}
}
Для обработки соединения я создал этот метод в моем контроллере:
@Autowired
SimpMessagingTemplate simpMessagingTemplate;
@MessageMapping("/news")
public void broadcastNews(@Payload String message) {
this.simpMessagingTemplate.convertAndSend("/topic/news", message);
}
Чтобы проверить это соединение, я использую этот сайт: https://www.websocket.in/test-online, и я пытаюсь подключиться к этому URL: wss //: localhost: 8085 / mywebsockets
Моя консоль отвечает, когда я пытаюсь подключиться:
2020-02-25 10:32:09.707 INFO 16000 --- [MessageBroker-1] o.s.w.s.c.WebSocketMessageBrokerStats : WebSocketSession[0 current WS(0)-HttpStream(0)-HttpPoll(0), 0 total, 0 closed abnormally (0 connect failure, 0 send limit, 0 transport error)], stompSubProtocol[processed CONNECT(0)-CONNECTED(0)-DISCONNECT(0)], stompBrokerRelay[null], inboundChannel[pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], outboundChannelpool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0], sockJsScheduler[pool size = 3, active threads = 1, queued tasks = 2, completed tasks = 0]
Сайт не подключается, но не выдает никакой ошибки, я ждал более 10 минут, и больше ничего не происходит.
Я не понимаю, что я делаю неправильно, я пытался соединение с Https уже и оно не работает вообще, может быть, я не понимаю, каким должен быть мой URL, потому что мое приложение получает запрос на соединение, как оно отвечает в консоли.