当前位置: 首页 > news >正文

记一次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的包

启动成功

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 秒杀活动库存扣减逻辑详解:从批量到单个,再到缓存与日志记录
  • redis链表结构和简单动态字符串(SDS)
  • Docker之镜像与容器的相关操作
  • docker-相关
  • STL--list和vector有什么区别
  • 企业如何选择合适自己的ERP系统?ERP系统应该具有哪些功能和特点?
  • 让智能体像孩子一样观察别人学习动作,跨视角技能学习数据集EgoExoLearn来了
  • 前端(动态雪景背景+动态蝴蝶)
  • VScode使用Prettier格式化代码
  • Mysql的基本命令
  • C语言分支语句
  • 19.删除链表的倒数第N个节点
  • 国内:深圳交通流量数据集
  • PurpleKeep:提供Azure管道以创建基础设施并执行Atomic测试
  • 流行的API架构学习
  • [译] React v16.8: 含有Hooks的版本
  • 【Linux系统编程】快速查找errno错误码信息
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • express + mock 让前后台并行开发
  • input的行数自动增减
  • JavaScript标准库系列——Math对象和Date对象(二)
  • java取消线程实例
  • js数组之filter
  • leetcode386. Lexicographical Numbers
  • Less 日常用法
  • Magento 1.x 中文订单打印乱码
  • oschina
  • PAT A1050
  • PAT A1092
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • 每天一个设计模式之命令模式
  • 前端路由实现-history
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 用mpvue开发微信小程序
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • "无招胜有招"nbsp;史上最全的互…
  • $GOPATH/go.mod exists but should not goland
  • (52)只出现一次的数字III
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (原创)可支持最大高度的NestedScrollView
  • (转)平衡树
  • *** 2003
  • ****Linux下Mysql的安装和配置
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .net dataexcel winform控件 更新 日志
  • .Net OpenCVSharp生成灰度图和二值图
  • .NET 分布式技术比较
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net6使用Sejil可视化日志