Spring boot websocket - IllegalArgumentException in bean ‘subProtocolWebSocketHandler‘ No handlers

问题的根源在于问题的根源是你没有在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();
    }

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值