部署包含具有相同密钥(进程标识属性)的进程定义,这是不允许的

时间:2013-04-06 11:54:12

标签: activiti

我在单个项目中实现了三个.bpmn文件,在运行时我得到了这个异常org.activiti.engine.ActivitiException:The deployment contains process definitions with the same key (process id atrribute), this is not allowed你可以解释一下我错在哪里吗?有可能在单个项目中运行多个.bpmn文件吗?它是怎么回事?

3 个答案:

答案 0 :(得分:1)

错误说明提供了足够的信息来查找此问题。 Activti数据库表act_re_procdef已包含具有相同ID的记录,因为您之前已部署了相同的.bpmn文件。你可以:

  1. 使用Activiti jar(包org.activiti.db.drop
  2. 中的脚本删除并创建此表
  3. 更改<process id="vacationProcess" name="vacation process" isExecutable="true"> 流程定义中的id属性
  4. 更改流程定义本身以使Activiti引擎使用新版本重新部署流程定义(请参阅act_re_procdef

答案 1 :(得分:0)

我遇到了类似的问题。我和春天一起使用了activiti。

我添加了以下配置来重新部署流程:

  <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="deploymentMode" value="single-resource" />

答案 2 :(得分:0)

我遇到了同样的问题,我只是从服务器上的进程文件夹中删除了所有 processes.bpmn20.xml 和 forms.jsons,然后重新部署了我的进程。 注意:您还可以将当前进程文件夹重命名为任何其他名称并创建一个新进程文件夹。