首页 > 解决方案 > Springboot SimpMessagingTemplate convertAndSend 不发送消息

问题描述

我正在尝试使用 SimpMessagingTemplate convertAndSend 方法在某个端点上向 websocket 广播。

我已将应用程序配置如下:

@Configuration
@EnableWebSocketMessageBroker
public class RealTimeWebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/websocket").setAllowedOrigins("*");
    }

    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry) {
        registry.enableSimpleBroker("/topic");
    }
}

我还创建了这个组件来发送到 websocket:

@Component
public class WebsocketSender {
    @Autowired
    SimpMessagingTemplate template;

    public void sendToWebsocket(String destination, Object message) throws NestedRuntimeException {
        try {
            template.convertAndSend(destination, message);
        } catch (RuntimeException e) {
            e.printStackTrace();
        }
    }
}

但是当我使用邮递员测试运行 sendToWebsocket 方法的代码时,如下所示:

.
.
.
@Autowired
WebsocketSender websocketSender;

public void mymethod(){
    websocketSender.sendToWebsocket("/topic/greeting", "hello");
}
.
.
.

在邮递员上,我看不到消息:

那么我在这里做错了什么?

标签: javaspring-bootspring-websocket

解决方案


推荐阅读