activiti-deploy

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就不会进行重复发布。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 activiti-explorer 和 mysql 的集成示例工程使用过程图解: 1. 下载并解压 activiti-explorer.war 文件,将其放入 Tomcat 服务器的 webapps 目录下。 2. 创建一个名为 activiti 的数据库,并将以下 SQL 语句执行: ``` CREATE TABLE `ACT_RE_DEPLOYMENT` ( `ID_` varchar(64) NOT NULL, `NAME_` varchar(255) DEFAULT NULL, `DEPLOY_TIME_` datetime DEFAULT NULL, PRIMARY KEY (`ID_`) ); CREATE TABLE `ACT_RE_PROCDEF` ( `ID_` varchar(64) NOT NULL, `REV_` int(11) DEFAULT NULL, `CATEGORY_` varchar(255) DEFAULT NULL, `NAME_` varchar(255) DEFAULT NULL, `KEY_` varchar(255) DEFAULT NULL, `VERSION_` int(11) DEFAULT NULL, `DEPLOYMENT_ID_` varchar(64) DEFAULT NULL, `RESOURCE_NAME_` varchar(4000) DEFAULT NULL, `DGRM_RESOURCE_NAME_` varchar(4000) DEFAULT NULL, `DESCRIPTION_` varchar(4000) DEFAULT NULL, `HAS_START_FORM_KEY_` tinyint(4) DEFAULT NULL, `HAS_GRAPHICAL_NOTATION_` tinyint(4) DEFAULT NULL, `SUSPENSION_STATE_` int(11) DEFAULT NULL, `TENANT_ID_` varchar(255) DEFAULT '', PRIMARY KEY (`ID_`), KEY `ACT_IDX_PROCDEF_DEPLOYMENT` (`DEPLOYMENT_ID_`), CONSTRAINT `ACT_FK_PROCDEF_DEPLOYMENT` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `ACT_RE_DEPLOYMENT` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_GE_BYTEARRAY` ( `ID_` varchar(64) NOT NULL, `REV_` int(11) DEFAULT NULL, `NAME_` varchar(255) DEFAULT NULL, `BYTES_` longblob, `DEPLOYMENT_ID_` varchar(64) DEFAULT NULL, `GENERATED_` tinyint(4) DEFAULT NULL, PRIMARY KEY (`ID_`), KEY `ACT_IDX_BYTEARRAY_DEPLOYMENT` (`DEPLOYMENT_ID_`), CONSTRAINT `ACT_FK_BYTEARR_DEPLOYMENT` FOREIGN KEY (`DEPLOYMENT_ID_`) REFERENCES `ACT_RE_DEPLOYMENT` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_HI_ACTINST` ( `ID_` varchar(64) NOT NULL, `PROC_DEF_ID_` varchar(64) DEFAULT NULL, `PROC_INST_ID_` varchar(64) DEFAULT NULL, `EXECUTION_ID_` varchar(64) DEFAULT NULL, `ACT_ID_` varchar(255) DEFAULT NULL, `TASK_ID_` varchar(64) DEFAULT NULL, `CALL_PROC_INST_ID_` varchar(64) DEFAULT NULL, `ACT_NAME_` varchar(255) DEFAULT NULL, `ACT_TYPE_` varchar(255) DEFAULT NULL, `ASSIGNEE_` varchar(255) DEFAULT NULL, `START_TIME_` datetime DEFAULT NULL, `END_TIME_` datetime DEFAULT NULL, `DURATION_` bigint(20) DEFAULT NULL, `DELETE_REASON_` varchar(4000) DEFAULT NULL, `TENANT_ID_` varchar(255) DEFAULT '', PRIMARY KEY (`ID_`), KEY `ACT_IDX_HI_ACT_INST_PROC_INST` (`PROC_INST_ID_`), KEY `ACT_IDX_HI_ACT_INST_EXECUTION` (`EXECUTION_ID_`), KEY `ACT_IDX_HI_ACT_INST_TASK` (`TASK_ID_`), CONSTRAINT `ACT_FK_HI_ACTINST_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_HI_PROCINST` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ACT_FK_HI_ACTINST_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_HI_ACTINST` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_HI_PROCINST` ( `ID_` varchar(64) NOT NULL, `PROC_DEF_ID_` varchar(64) DEFAULT NULL, `BUSINESS_KEY_` varchar(255) DEFAULT NULL, `START_TIME_` datetime DEFAULT NULL, `END_TIME_` datetime DEFAULT NULL, `DURATION_` bigint(20) DEFAULT NULL, `START_USER_ID_` varchar(255) DEFAULT NULL, `END_ACT_ID_` varchar(255) DEFAULT NULL, `DELETE_REASON_` varchar(4000) DEFAULT NULL, `SUPER_PROCESS_INSTANCE_ID_` varchar(64) DEFAULT NULL, `TENANT_ID_` varchar(255) DEFAULT '', PRIMARY KEY (`ID_`), KEY `ACT_IDX_HI_PRO_INST_BUSKEY` (`BUSINESS_KEY_`), KEY `ACT_IDX_HI_PROC_INST_START` (`START_TIME_`), KEY `ACT_IDX_HI_PROC_INST_END` (`END_TIME_`), KEY `ACT_IDX_HI_PROC_INST_SUPER` (`SUPER_PROCESS_INSTANCE_ID_`), CONSTRAINT `ACT_FK_HI_PROCINST_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_HI_TASKINST` ( `ID_` varchar(64) NOT NULL, `PROC_DEF_ID_` varchar(64) DEFAULT NULL, `TASK_DEF_KEY_` varchar(255) DEFAULT NULL, `PROC_INST_ID_` varchar(64) DEFAULT NULL, `EXECUTION_ID_` varchar(64) DEFAULT NULL, `NAME_` varchar(255) DEFAULT NULL, `PARENT_TASK_ID_` varchar(64) DEFAULT NULL, `DESCRIPTION_` varchar(4000) DEFAULT NULL, `OWNER_` varchar(255) DEFAULT NULL, `ASSIGNEE_` varchar(255) DEFAULT NULL, `START_TIME_` datetime DEFAULT NULL, `CLAIM_TIME_` datetime DEFAULT NULL, `END_TIME_` datetime DEFAULT NULL, `DURATION_` bigint(20) DEFAULT NULL, `DELETE_REASON_` varchar(4000) DEFAULT NULL, `PRIORITY_` int(11) DEFAULT NULL, `DUE_DATE_` datetime DEFAULT NULL, `FORM_KEY_` varchar(255) DEFAULT NULL, `CATEGORY_` varchar(255) DEFAULT NULL, `TENANT_ID_` varchar(255) DEFAULT '', PRIMARY KEY (`ID_`), KEY `ACT_IDX_HI_TASK_INST_PROC_DEF` (`PROC_DEF_ID_`), KEY `ACT_IDX_HI_TASK_INST_PROC_INST` (`PROC_INST_ID_`), KEY `ACT_IDX_HI_TASK_INST_EXEC` (`EXECUTION_ID_`), KEY `ACT_IDX_HI_TASK_INST_DELETE` (`DELETE_REASON_`), KEY `ACT_IDX_HI_TASK_INST_END` (`END_TIME_`), KEY `ACT_IDX_HI_TASK_INST_NAME` (`NAME_`), KEY `ACT_IDX_HI_TASK_INST_PRIORITY` (`PRIORITY_`), CONSTRAINT `ACT_FK_HI_TASKINST_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_HI_PROCINST` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ACT_FK_HI_TASKINST_EXECUTION` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ACT_FK_HI_TASKINST_PROCDEF` FOREIGN KEY (`PROC_DEF_ID_`) REFERENCES `ACT_RE_PROCDEF` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_RU_EXECUTION` ( `ID_` varchar(64) NOT NULL, `REV_` int(11) DEFAULT NULL, `BUSINESS_KEY_` varchar(255) DEFAULT NULL, `PROC_DEF_ID_` varchar(64) DEFAULT NULL, `ACT_ID_` varchar(255) DEFAULT NULL, `IS_ACTIVE_` tinyint(4) DEFAULT NULL, `IS_CONCURRENT_` tinyint(4) DEFAULT NULL, `IS_SCOPE_` tinyint(4) DEFAULT NULL, `IS_EVENT_SCOPE_` tinyint(4) DEFAULT NULL, `PARENT_ID_` varchar(64) DEFAULT NULL, `SUPER_EXEC_` varchar(64) DEFAULT NULL, `PROC_INST_ID_` varchar(64) DEFAULT NULL, `ROOT_PROC_INST_ID_` varchar(64) DEFAULT NULL, `REV_PARENT_TASK_` varchar(64) DEFAULT NULL, `NAME_` varchar(255) DEFAULT NULL, `LOCK_TIME_` datetime DEFAULT NULL, `IS_COUNT_ENABLED_` tinyint(4) DEFAULT NULL, `SUSPENSION_STATE_` int(11) DEFAULT NULL, `CACHED_ENT_STATE_` int(11) DEFAULT NULL, `TENANT_ID_` varchar(255) DEFAULT '', PRIMARY KEY (`ID_`), KEY `ACT_IDX_EXEC_BUSKEY` (`BUSINESS_KEY_`), KEY `ACT_IDX_EXEC_PROCINST` (`PROC_INST_ID_`), KEY `ACT_IDX_EXEC_SUPER` (`SUPER_EXEC_`), KEY `ACT_IDX_EXEC_ROOT_PROC` (`ROOT_PROC_INST_ID_`), KEY `ACT_IDX_EXEC_ACT` (`ACT_ID_`), KEY `ACT_IDX_EXEC_PARENT` (`PARENT_ID_`), CONSTRAINT `ACT_FK_EXE_PROCINST` FOREIGN KEY (`PROC_INST_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ACT_FK_EXE_PARENT` FOREIGN KEY (`PARENT_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_RU_TASK` ( `ID_` varchar(64) NOT NULL, `REV_` int(11) DEFAULT NULL, `NAME_` varchar(255) DEFAULT NULL, `PARENT_TASK_ID_` varchar(64) DEFAULT NULL, `DESCRIPTION_` varchar(4000) DEFAULT NULL, `TASK_DEF_KEY_` varchar(255) DEFAULT NULL, `OWNER_` varchar(255) DEFAULT NULL, `ASSIGNEE_` varchar(255) DEFAULT NULL, `DELEGATION_` varchar(64) DEFAULT NULL, `PRIORITY_` int(11) DEFAULT NULL, `CREATE_TIME_` datetime DEFAULT NULL, `DUE_DATE_` datetime DEFAULT NULL, `CATEGORY_` varchar(255) DEFAULT NULL, `SUSPENSION_STATE_` int(11) DEFAULT NULL, `TENANT_ID_` varchar(255) DEFAULT '', PRIMARY KEY (`ID_`), KEY `ACT_IDX_TASK_PROCINST` (`PROC_INST_ID_`), KEY `ACT_IDX_TASK_EXEC` (`EXECUTION_ID_`), KEY `ACT_IDX_TASK_NAME` (`NAME_`), KEY `ACT_IDX_TASK_ASSIGNEE` (`ASSIGNEE_`), KEY `ACT_IDX_TASK_CREATE_TIME` (`CREATE_TIME_`), KEY `ACT_IDX_TASK_OWNER` (`OWNER_`), CONSTRAINT `ACT_FK_TASK_EXEC` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ACT_FK_TASK_PARENT` FOREIGN KEY (`PARENT_TASK_ID_`) REFERENCES `ACT_RU_TASK` (`ID_`) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE `ACT_GE_PROPERTY` ( `NAME_` varchar(64) NOT NULL, `VALUE_` varchar(300) DEFAULT NULL, `REV_` int(11) DEFAULT NULL, PRIMARY KEY (`NAME_`) ); ``` 3. 修改 activiti-explorer.war 文件下 WEB-INF/classes 目录下的 db.properties 文件,将其中的数据库配置改为: ``` db=mysql jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/activiti?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true jdbc.username=root jdbc.password=root ``` 其中,jdbc.url 中的数据库名应改为自己创建的数据库名称,jdbc.username 和 jdbc.password 应改为自己的数据库用户名和密码。 4. 启动 Tomcat 服务器,访问 http://localhost:8080/activiti-explorer 即可使用 activiti-explorer 示例工程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值