websocket Caused by: javax.websocket.DeploymentException

记录编写websocket出现的错误

java.lang.IllegalStateException: Failed to register @ServerEndpoint class: class com.websocket.websocket.ChatEndpoint
在网上找到很多帖子,大部分都说的是使用springboot本身集成的容器和单独使用容器的不同,在扫描websocket组件时,产生的差异而报的错;
例如:
容器扫描的组件不一致导致的问题

而我在启动websocket应用中,并未发现编写有错误,多次尝试启动,均报一下错误,经检查是使用注解编写websocket类时,springboot本身会对传入的参数进行校验,检验失败就会报错。
Caused by: javax.websocket.DeploymentException: A parameter of type [interface javax.websocket.EndpointConfig] was found on method[close] of class [java.lang.reflect.Method] that did not have a @PathParam annotation

    @OnClose
    public void close(Session session, EndpointConfig config) {

    }
    @OnError
    public void error(Session session, EndpointConfig config) {

    }

//===================而在以继承方式编写websocket的参数时不一样=====
  public abstract class Endpoint {
    public Endpoint() {
    }
    public abstract void onOpen(Session var1, EndpointConfig var2);
    
    public void onClose(Session session, CloseReason closeReason{
    }
    public void onError(Session session, Throwable throwable) {
    }
}
// 这两者传入参数的对比,就会发现问题

对传入的形参进行修改,则启动正常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值