javax.websocket.DeploymentException: Endpoint instance creation failed

背景:

项目需要服务端主动推送数据到客户端,于是使用了Websocket,结果发现,在搭建Websocket过程中报错了。

解决:

首先我们要知道Java后端,搭建Websocket服务有多种Websocket可选,比如OkhttpClient-websocket,Netty-websocket,包括SpringBoot也有自己的Websocket依赖(需要引入jar包)

我这个问题是在使用SpringBoot集成的Websocket过程中出现的:

原先的代码

在项目启动的时候PicturePushWebsocketServer会自动创建一个实例,然后个错误是由于PicturePushWebsocketServer这个类没有设置无参的构造方法,或者无参构造方法是非Public导致的。

这里我们把PicturePushWebsocketServer的无参构造函数访问权限改为Public

再次启动程序完美运行

最后:

大家在使用SpringBoot集成的Websocket的时候可能会有很多需要注意的点,不然就会出现Bug,或者项目跑不起来。

一:我们的Websocket是和Spring集成的所以要被IOC容器管理要加上@Componnent注解

不然会出现 No mapping for GET / websocket这个错误

二:@ServerEndpoint也是必须的

三:要配置Websocket的断点(在IOC容器中实例化ServerEndpointExporter这个类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值