Spring boot WebSocket using Stomp, unable to receive messages

Viewed 15

I have created a WebSocket server that is located on: /server.

I have also created a controller that has a route that maps messages from /stompserver/sendmessage/{to} to the channel /subscriber/{to}

I can see that the WebSocket server is up, and I'm able to subscribe to any channel I want, but it seems to be that the route /stompserver/sendmessage/{to} is not getting invoked.

This code was working for me before and I don't remember what I've changed.

This is my code:

@Controller
@Slf4j
public class ArduinoControllerV1 {
    Logger logger = LoggerFactory.getLogger(ArduinoControllerV1.class);
    @Autowired
    private SimpMessagingTemplate messagingTemplate;


    @MessageMapping("/sendmessage/{to}")
    @RequestMapping("/sendmessage/{to}")
    public void sendMessage(@DestinationVariable String to, String message) {
        logger.info(message.toString() + " to " + to);
        messagingTemplate.convertAndSend("/subscriber/" + to, message);


    }

}

Configuration:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        config.enableSimpleBroker("/stompserver");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/server").setAllowedOriginPatterns("*").withSockJS();
    }

    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurerAdapter() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**").allowedOrigins("*");
            }
        };
    }

}

I'm using WebSocket Debug tool as a client, to send and receive messages.

Thanks for your help in advance.

0 Answers
Related