最近被Flowable的自定义缓存搞的神烦,今天先看看如何自定义它的ID生成器,后面再细说缓存的事。
如果只是想使用自定义ID生成策略,只需要以下代码就好了:
configuration.setIdGenerator(new IdGenerator() {
@Override
public String getNextId() {
//这里使用hutool的UUID工具类生成
return IdUtil.simpleUUID();
}
});复制
然后随便启动个流程,就可以看到所有的ID都变成UUID了:
如果还想了解一下为什么,可以继续往下看。
在UserTaskActivityBehavior的execute()中可以找到创建Task的方法。
这个方法可以追踪到TaskHelper中,一路追踪下去:
TaskHelper.insertTask->
TaskService.insertTask->
TaskEntityManagerImpl.insert->
AbstractEntityManager.insert->
AbstractDataManager.insert->
DbSqlSession.insert->
String id = idGenerator.getNextId();复制
就可以找到为Task赋予ID的方法,至于idGenerator来源于哪里,其实是在ProcessEngineConfigurationImpl中。
public void initIdGenerator() {
if (idGenerator == null) {
DbIdGenerator dbIdGenerator = new DbIdGenerator();
dbIdGenerator.setIdBlockSize(idBlockSize);
idGenerator = dbIdGenerator;
}
if (idGenerator instanceof DbIdGenerator) {
DbIdGenerator dbIdGenerator = (DbIdGenerator) idGenerator;
if (dbIdGenerator.getIdBlockSize() == 0) {
dbIdGenerator.setIdBlockSize(idBlockSize);
}
if (dbIdGenerator.getCommandExecutor() == null) {
dbIdGenerator.setCommandExecutor(getCommandExecutor());
}
if (dbIdGenerator.getCommandConfig() == null) {
dbIdGenerator.setCommandConfig(getDefaultCommandConfig().transactionRequiresNew());
}
}
}复制
同样,在这个方法中可以发现我们之前自定义ID生成策略的Set方法:
public ProcessEngineConfigurationImpl setIdGenerator(IdGenerator idGenerator) {
this.idGenerator = idGenerator;
return this;
}复制
以上就是自定义ID生成策略的简单实现,如有错误,欢迎指正。
觉的不错?可以关注我的公众号↑↑↑
文章转载自字痕随行,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1320次阅读
2025-03-13 11:40:53
【专家观点】罗敏:从理论到真实SQL,感受DeepSeek如何做性能优化
墨天轮编辑部
1301次阅读
2025-03-06 16:45:38
2025年2月国产数据库大事记
墨天轮编辑部
1020次阅读
2025-03-05 12:27:34
2025年2月国产数据库中标情况一览:GoldenDB 3500+万!达梦近千万!
通讯员
902次阅读
2025-03-06 11:40:20
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
462次阅读
2025-03-13 14:38:19
AI的优化能力,取决于你问问题的能力!
潇湘秦
437次阅读
2025-03-11 11:18:22
优炫数据库成功应用于国家电投集团青海海南州新能源电厂!
优炫软件
344次阅读
2025-03-21 10:34:08
达梦数据与法本信息签署战略合作协议
达梦数据
297次阅读
2025-03-06 09:26:57
国产化+性能王炸!这套国产方案让 3.5T 数据 5 小时“无感搬家”
YMatrix
284次阅读
2025-03-13 09:51:26
磐维数据库对外门户全新升级!
磐维数据库
244次阅读
2025-03-04 15:32:59