记一次Cannot deploy POJO class [xxx$$EnhancerBySpringCGLIB$$xxx]的错误

最近项目上需要使用websocket做服务端,那好说啊,直接springboot集成的websocket

引入依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId><version>2.7.12</version>
</dependency>

配置类

@Configuration
public class WebsocketConfig {@Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();}
}

wsServer

@Component
@Slf4j
@ServerEndpoint("/ws/{id}")
public class WebsocketServer {/*** 在线的连接*/private Map<String, Session> onlineSessionMap = new ConcurrentHashMap<>();@OnOpenpublic void onOpen(@PathParam("id") String id, Session session) {log.info("WebSocket连接成功,id = {}", id);onlineSessionMap.put(id, session);}@OnClosepublic void onClose(@PathParam("id") String id, Session session) {log.info("WebSocket连接关闭,id = {}", id);onlineSessionMap.remove(id);}@OnMessagepublic void onMessage(String message, Session session) {log.info("WebSocket接收到客户端消息:{}", message);}@OnErrorpublic void onError(Session session, Throwable error) {log.error("WebSocket发生错误,错误信息为:{}", error.getMessage());}public void sendMessage(String id, String message) {Session session = onlineSessionMap.get(id);if (session == null) {log.error("WebSocket发送消息失败,未找到对应的连接,id = {}", id);return;}// 异步发送消息try {session.getAsyncRemote().sendText(message);log.info("WebSocket发送消息成功,id = {},message = {}", id, message);} catch (Exception e) {log.error("WebSocket发送消息失败,错误信息为:{}", e.getMessage());}}
}

本来以为简简单单搞定,准备启动,结果...

Cannot deploy POJO class [com.xxx.xxx.xxx.WebsocketServer$$EnhancerBySpringCGLIB$$e1de9f9b] as it is not annotated with @ServerEndpoint

wtf??

之前没遇到过这种情况啊,没事 我有谷歌

看了下网上的情况 好像说因为这个类被代理了,追了下源码,确实是这样的

那好说啊 直接全局搜索 @Aspect

结果发现项目中的aop都是通过注解去切的 那这是怎么回事,明明我这个类也被动态代理了

此时我也快将谷歌翻烂了,仍然找不到办法解决

等一下? 会不会是其他的AOP,比如某些框架的 @Aspect 搜不到,那我换个搜法 

直接全局搜索 pointcut

这时我看到这样一个配置文件

Druid数据监控的数据监控啊! TMD甘

问题找到了 可是怎么降这个包排除呢

<property name ="patterns">

直接按住command 点击patterns

进入了方法

再点击this.patterns 

思路顿时明了了

直接在下面加一个 排除ws的包

启动成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600585.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【超简单】基于PaddleSpeech搭建个人语音听写服务

一、【超简单】之基于PaddleSpeech搭建个人语音听写服务 1.需求分析 亲们,你们要写会议纪要嘛?亲们,你们要写会议纪要嘛?亲们,你们要写会议纪要嘛?当您面对成吨的会议录音,着急写会议纪要而不得不愚公移山、人海战术?听的头晕眼花,听的漏洞百出,听的怀疑人生,那么你…

与汇智知了堂共舞,HW行动开启你的网络安全新篇章!

**网安圈内一年一度的HW行动来啦&#xff01; ** 招募对象 不限&#xff0c;有HW项目经验 或持有NISP二级、CISP证书优先 HW时间 以官方正式通知为准 工作地点&#xff1a;全国 薪资待遇 带薪HW &#xff08;根据考核成绩500-4000元/天不等&#xff09; 招募流程 1.填写报名…

静态代理

静态代理 静态代理 理解示例 角色分析: 抽象角色:一般会使用接口或者抽象类类解决 真实角色:被代理的角色 代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作 客户:访问代理对象的人 分析: 抽象角色 真实角色 代理角色(代理真实的对象) 客户 …

GPT-4对多模态大模型在多模态预训练、 理解生成上的启发

传统人工智能 模型往往依赖大量有标签数据的监督训练,而且一个模型一般只能解决一个任务,仅适用于单一场景, 这使得人工智能的研发和应用成本高,场景适应能力弱,难以规模化应用。 常见的多模态任务大致可以分为两类: 多模态理解任务,如视频 分类、视觉问答、跨模态检索、指代…

Echarts-实现地图并轮播地图信息

目录 ./map-geojson/jinhua.json./CenterMap.vue./center.vue 使用地图组件效果 ./map-geojson/jinhua.json {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"adcode":330…

DHT11温度检测系统

DHT11温湿度传感器 产品概述 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器&#xff0c;应用领域&#xff1a;暖通空调&#xff1b;汽车&#xff1b;消费品&#xff1b;气象站&#xff1b;湿度调节器&#xff1b;除湿器&#xff1b;家电&#xff1b;医…

Android 11 上的文件读写无权限问题

Android 6以上需要动态申请读写权限&#xff0c;但是11以上动态申请了读写权限也是无效。并且手动给予权限没有该按钮。 如上图华为钱包有个所有文件权限、但是百度地图只有仅媒体权限&#xff0c;仅媒体权限&#xff08;动态申请读写权限&#xff09;给予后软件还是没法访问文…

飞书文档如何在不同账号间迁移

今天由于个人需要新建了一个飞书账号&#xff0c;遇到个需求就是需要把老帐号里面的文档迁移到新的账号里面。在网上搜了一通&#xff0c;发现关于此的内容似乎不多&#xff0c;只好自己动手解决&#xff0c;记录一下过程以便分享&#xff0c;主要有以下几个步骤。 1. 添加新账…

【Vue】实现仿微信输入@出现选择框

<div style"padding: 10px 10px" class"editor"><el-inputresizetype"textarea":rows"4"clearableplaceholder"请输入您的问题.."v-model"requestParams.prompt"input"handleInput"keydown.na…

面试题:ConcurrentHashMap

ConcurrentHashMap 是一种线程安全的高效Map集合 底层数据结构&#xff1a; JDK1.7底层采用分段的数组链表实现 JDK1.8 采用的数据结构跟HashMap1.8的结构一样&#xff0c;数组链表/红黑二叉树。 1. JDK1.7 数据结构 提供了一个segment数组&#xff0c;在初始化Concurre…

Linux使用宝塔面板部署Discuz结合内网穿透实现公网访问本地论坛

文章目录 前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 前言 Crossday Discuz! Board&#xff08;以下简称 Discuz!&#xff09;是一套通用的社区论坛软件系统&#xff0c;用户可以在不需要任何编程的基础上&a…

柯桥外语培训之【韩语干货】如何用韩语作简单自我介绍

안녕하세요! 意思是“您好”“你好”&#xff0c;这是最常用的问候语&#xff0c;正式场合可以使用“안녕하십니까?" 제 이름은 [你的名字]이고, [你的年龄] 살입니다. 意思是“我的名字是~&#xff0c;~岁了”&#xff0c;这是比较谦虚的自我介绍方式 介绍自己的名字…