`
cylove007
  • 浏览: 70046 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Activiti5.9 流程实例中同一个流程businessKey重复的问题

阅读更多
启动流程使用runtimeService.startProcessInstanceByKey("test1", "b2KEY", variableMap);
其中“b2KEY”是流程实例的businessKey值,如果同一个流程KEY用同一个businessKey来启动就会报错com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'test1:3:604-b2KEY' for key 'ACT_UNIQ_HI_BUS_KEY'。

进入activiti表中去查看,ACT_HI_PROCINST表中有一个名为ACT_UNIQ_HI_BUS_KEY的索引,关联的是PROC_DEF_ID_, BUSINESS_KEY_这两个字段,索引的类型为Unique
PROC_DEF_ID_是流程定义ID,
BUSINESS_KEY_就是启动流程时传入的businessKey值,
也就是说同一个流程不能使用相同的businessKey值,这在实际应用中有会出现一些问题,如同一个业务数据的ID不能使用同一个流程2次。

所以能处理的办法就有两种:
1.是不使用这个字段而使用流程变量来存储了
2.就是在传入businessKey值的加一些随机数据,如“businessKey_随机数”,只要保证不同就行了
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics