Activiti7 绑定业务主键以及流程定义 流程实例的挂起和激活
绑定业务主键businessKey
/** * 绑定业务主键 */ @Test public void bindingBusinessKey() { // 获取RuntimeService RuntimeService runtimeService = defaultProcessEngine.getRuntimeService(); // 启动流程实例并绑定业务主键 ProcessInstance holiday = runtimeService.startProcessInstanceByKey("holiday", "1001"); // 输出业务主键信息 System.out.println("业务主键:" + holiday.getBusinessKey()); }
流程定义的挂起和激活,流程定义一旦挂起,该定义下的所有流程实例都将无法提交
/** * 流程定义的全部挂起和激活 */ @Test public void suspendOrActivateProcessDefinition() { // 获取RepositoryService RepositoryService repositoryService = defaultProcessEngine.getRepositoryService(); // 查询唯一的流程定义 ProcessDefinition holiday = repositoryService.createProcessDefinitionQuery().processDefinitionKey("holiday").singleResult(); // 查看是否激活 boolean suspended = holiday.isSuspended(); String processDefinitionId = holiday.getId(); if (suspended) { // 如果没激活 就激活 repositoryService.activateProcessDefinitionById(processDefinitionId, true, null); System.out.println("流程定义:" + processDefinitionId + "激活"); } else { // 如果激活 就挂起 repositoryService.suspendProcessDefinitionById(processDefinitionId, true, null); System.out.println("流程定义:" + processDefinitionId + "挂起"); } }
单个流程实例挂起操作,单个流程实例的挂起并不会影响其他流程实例的提交和执行
/** * 单个流程实例挂起操作 */ @Test public void suspendOrActiveProcessInstance(){ // 启动的流程实例ID String processInstanceId = "17501"; // 获取RuntimeService RuntimeService runtimeService = defaultProcessEngine.getRuntimeService(); // 查询流程实例 ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); boolean suspended = processInstance.isSuspended(); if(suspended){ runtimeService.activateProcessInstanceById(processInstanceId); System.out.println("流程实例:"+processInstanceId+"激活"); }else{ runtimeService.suspendProcessInstanceById(processInstanceId); System.out.println("流程实例:"+processInstanceId+"挂起"); } }
作者:彼岸舞
时间:2020\09\04
内容关于:Activiti工作流
本文来源于网络,只做技术分享,一概不负任何责任