错误一
错误描述:
Clock moved backwards. Refusing to generate id for 48257037 milliseconds
代码:
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
Long blockId = IdWorker.getId();
代码场景:
生成唯一ID,用于标识当前线程,日志跟踪 。
错误原因:
由于系统时间回拨产生此错误
IdWorker.getId()
是高效GUID产生算法(sequence),基于Snowflake算法实现64位自增ID
由于Snowflake算法依赖系统时间,它会将当前时间与最近一次调用此算法的存入内存的系统时间比较,若当前时间小于上次调用时间(具体原因看源码),则报错
解决方法:
- 临时方法:重置系统时间;重启当前项目,清空内存。
- 永久方法:更换生成唯一ID方式。如:UUID、redis生成ID等
错误二
错误描述:
IllegalArgumentException: Illegal base64 character 3a
错误原因:
由于base64 编码里存在 data:image/png;base64
解决方法
删除 data:image/png;base64, 即可