1、在生成环境 在某个业务使用该插件生成uid,由于业务整合了
mybatis-plus模块
2、该业务是分部署集群部署以及使用的多线程获取uid,使用中发现唯一建冲突,生成的uid有重复。
然后查看日志发现 workerId 始终为0 怀疑是生成workerId出了问题。
查看跟踪核心代码
发现 是保存响应的代码有问题,没有响应id
查看
WorkerNodeEntity 类
给id加上 自增注解
查看
WorkerNodeDAO 类
给
addWorkerNode方法
@Options注解加上
keyProperty参数
如图
最后给获取方法 加上锁
由此解决问题。