关于 AOP 切面导致 WebSocket 的 @ServerEndPoint 无法注入的问题
前言
今天给我的毕业设计加上了 AOP 日志拦截,结果导致了 WebSocket 的报错。,错误信息为:
1 | Failed to register @ServerEndpoint class: class pers.xuyijie.communityinteractionsystem.websocket.MyWebSocket$$EnhancerBySpringCGLIB |
原因和解决方案
原因是因为 WebServerContainer 里面的 addEndPoint 方法里的 annotation 为 null。
感谢 华阳余文乐https://blog.csdn.net/qq_15807785/article/details/83547978 ,上图是他的调试截图。
导致为 null 的原因是因为 aop 的 @PointCut 注解和 Aop 自定义的 @Log 注解,总之,aop 不能作用到 websocket 的文件,否则就会导致问题。


去掉 WebSocket 上的 @Log,并确保 @PointCut 的 execution 中的包路径不包含 WebSocket 的文件就可以了。
启动成功
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 泡泡的博客!
评论








