错误一
错误描述:
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等
持续更新中……