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工作流

本文來源於網絡,只做技術分享,一概不負任何責任




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM