流程引擎之Camunda开发记录(八)检查当前实例是结束还是在运

2022-04-26  本文已影响0人  _花

1、第一种

ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
                .processInstanceId(processInstanceId)
                // 结果唯一的,可以用single,如果大于1,则会报错
                .singleResult();
        if (processInstance == null) {
            System.out.println("当前实例已经结束了");
            return true;
        } else {
            System.out.println("当前实例正在运转");
            return false;
        }

2、第二种

  @Test
    public void createHistoricProcessInstanceQuery() {
        String processInstanceId = "5301";
        HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
//                .completed()
                .processInstanceId(processInstanceId)
                .singleResult();

        if (historicProcessInstance.getEndTime() != null) {
            System.out.println("当前实例结束了");
        } else {
            System.out.println("当前实例正在运转");
        }
    }

ACT_HI_PROCINST表和ACT_RU_EXECUTION里的实例是一一对应的关系

上一篇 下一篇

猜你喜欢

热点阅读