2.9 KiB
今日新增代码Bug修复清单
发现的问题
1. Lombok编译错误 ❌
问题: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment
原因: Lombok版本与JDK 1.8不兼容(Spring Boot 2.2.6默认的Lombok版本可能过旧)
解决方案: 在父pom.xml中显式指定Lombok版本为1.18.20(兼容JDK 8)
2. RedisUtil缺少lTrim方法 ❌
问题: OfflineMessageServiceImpl.java中调用了redisUtil.lTrim()方法,但RedisUtil.java中没有实现该方法
位置:
Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/service/impl/OfflineMessageServiceImpl.java:169Zhibo/zhibo-h/crmeb-common/src/main/java/com/zbkj/common/utils/RedisUtil.java
解决方案: 在RedisUtil中添加lTrim方法
3. RedisUtil缺少delete方法 ❌
问题: OfflineMessageServiceImpl.java中调用了redisUtil.delete()方法,但RedisUtil中只有del()方法
位置: Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/service/impl/OfflineMessageServiceImpl.java:165
解决方案: 在RedisUtil中添加delete方法作为del方法的别名
4. HeartbeatScheduler缺少getRoomSessions和getConversationSessions方法 ❌
问题: HeartbeatScheduler.java中调用了liveChatHandler.getRoomSessions()和privateChatHandler.getConversationSessions(),但这两个Handler类中没有公开这些方法
位置:
Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/websocket/HeartbeatScheduler.java:82, 145Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/websocket/LiveChatHandler.javaZhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/websocket/PrivateChatHandler.java
解决方案: 在LiveChatHandler和PrivateChatHandler中添加公开的getter方法
5. 离线消息功能缺少与WebSocket的集成 ⚠️
问题: 当用户离线时,私聊消息应该保存到离线消息队列,但目前PrivateChatHandler中没有调用OfflineMessageService
位置: Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/websocket/PrivateChatHandler.java
解决方案: 在PrivateChatHandler中注入OfflineMessageService,当用户不在线时保存离线消息
6. 心跳检测缺少@EnableScheduling注解 ⚠️
问题: HeartbeatScheduler使用了@Scheduled注解,但应用主类可能没有启用调度功能
位置: Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/CrmebFrontApplication.java
解决方案: 在主类上添加@EnableScheduling注解
修复优先级
-
高优先级 - 编译错误(必须修复才能运行)
- Lombok版本问题
- RedisUtil缺少方法
- HeartbeatScheduler缺少getter方法
-
中优先级 - 功能不完整(影响功能正常使用)
- 离线消息与WebSocket集成
- 心跳检测调度启用
-
低优先级 - 优化建议
- 添加更多日志
- 异常处理优化