代码改变世界

activiti-deploy

2013-12-06 18:56    阅读(233)  评论(0)    收藏  举报

activiti在默认发布时,即使上一次发布的Deployment和将要发布的Deployment一样,仍然会将其插入流程数据库。

观其源码,其中有这样一段

if ( deploymentBuilder.isDuplicateFilterEnabled() ) {
      DeploymentEntity existingDeployment = Context
        .getCommandContext()
        .getDeploymentEntityManager()
        .findLatestDeploymentByName(deployment.getName());
      
      if ( (existingDeployment!=null)
           && !deploymentsDiffer(deployment, existingDeployment)) {
        return existingDeployment;
      }
    }
所以我们将createDeployment()创造的deploymentBuilder的duplicate设置为true,activiti就不会进行重复发布。