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

转载 2015年07月09日 12:11:06

启动流程使用runtimeService.startProcessInstanceByKey(processDefinitionKey,businessKey,variablesMap); 

如: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值的加一些随机数据或业务数据ID,如“businessKey_随机数”或“businessKey:ID”,只要保证不同就行了

相关文章推荐

activiti5.10解决分布式集群部署的主键问题

一、概要综述 1、activiti5是jbpm4升级上来的一款最新版工作流引擎,已经将自己的表划分为4类:运行时、通用数据、历史数据、流程相关数据,但是有一个核心问题就是是否支持集群部署,经过我对源码...
  • kongqz
  • kongqz
  • 2012-09-28 09:47
  • 9465

activiti之流程变量值Business_key

今天以请假为例,我们具体到我们的业务中来实现一下这个流程变量(Business_key)怎么用

【整合篇】Activiti业务与流程整合之查询(二)

继上篇博客:【整合篇】JBPM4.4业务与流程整合之查询 应用第二种方式:申请实体中加入需要的相应的工作流的属性 package com.tgb.itoo.basic.entity; import ...

activiti之流程变量

上篇博客将了activiti的部署、启动和结束,那么这篇博客,我们将一下流程变量,所谓的流程变量,大概也就是和咱们业务相关的数据,例如我要请假,那我得知道是谁在请假请假人是谁,也就是我要知道activ...

activiti之流程变量值Business_key

今天以请假为例,我们在做工作流的时候一定是需要将我们的业务和工作流来关联起来的,而Activiti给我们提供了一个便利就是Business_key,而这个字段就是专门用来存储我们的业务关键字。 ...

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

启动流程使用runtimeService.startProcessInstanceByKey("test1", "b2KEY", variableMap);  其中“b2KEY”是流程实例的busi...

Activiti之流程通过、驳回、会签、转办、中止、挂起等核心操作封装(Activiti5.9)

[java] view plain copy package com.famousPro.process.service.impl;      import java...

activiti工作流程实例

  • 2017-03-17 10:40
  • 19.54MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)