问题的根源在于问题的根源是你没有在registerStompEndpoints中配置任何端点。尝试使用STOMP但尚未配置任何STOMP端点的应用程序将无法正常工作。
开始的代码是这样的:

@Configuration
public class CustomWebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

    @Bean(value = "serverEndpointExporter")
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }
}

但是没有配置任何端点,所以应该重写一个方法:registerStompEndpoints

    /**
     * 注册stomp端点。起到的作用就是添加一个服务端点,来接收客户端的连接,
     * registry.addEndpoint("/tmax/ws")
     * 表示添加了一个 /tmax/ws 端点,客户端可以通过这个端点来进行连接。
     * withSockJS() 的作用是开启 SockJS 访问支持,即可通过http://IP:PORT/tmax/ws 来和服务端 websocket 连接。
     */
    @Override
    public void registerStompEndpoints(final StompEndpointRegistry registry) {
        // Handshake endpoint
        registry.addEndpoint("stomp").withSockJS();
    }

这样的话项目就可以正常运行

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐