activiti 查询流程定义启动流程

查询流程定义

要启动流程就必须要知道有哪些流程,可能会涉及到权限的问题所以启动流程前先查询流程定义的信息(流程定义的信息放在act_re_procdef的表中)所以用RepositoryService中的方法查询,可以根据act_re_procdef表的索引去查询

流程定义信息查询

    RepositoryServicerepositoryService=   processEngine().getRepositoryService();

        List<ProcessDefinition>processDefinition=repositoryService.createProcessDefinitionQuery()

        .orderByProcessDefinitionVersion().desc().list();

 

List<ProcessDefinition> processDefinitionLast= repositoryService.createProcessDefinitionQuery()

                .orderByProcessDefinitionVersion().desc()//查询所有的数据

                .latestVersion().list();//查询所有流程的最新版本

        for(ProcessDefinitionpd :processDefinition){

           

            System.out.println("----------------------------------------------");

            System.out.println("流程定义名:"+pd.getName());

            System.out.println("流程定义版本:"+pd.getVersion());

            System.out.println("流程定义KEY"+pd.getKey());

            System.out.println("流程部署Deploymentid"+pd.getDeploymentId());

            System.out.println("流程定义id"+pd.getId());

            }

 

启动流程

可以根据流程定义ID(startProcessInstanceById)或者KEY(startProcessInstanceByKey)启动。注意:根据流程定义KEY:deploy_classpath,会以最新版本的流程定义启动。在启动流程时可以设置流程的启动人以及流程变量

   //启动流程

    @Test

    public void test_startProcess(){

        RepositoryServicerepositoryService =   processEngine().getRepositoryService();

        RuntimeServiceruntimeService =processEngine().getRuntimeService();

        IdentityServiceidentityService =processEngine().getIdentityService();

        //设置流程启动人(开始节点的执行人)

        identityService.setAuthenticatedUserId("zzz");

        //根据流程定义ID

         runtimeService.startProcessInstanceById("deploy_classpath:2:2504");

        }


    //设置流程启动人(开始节点的执行人)

              identityService.setAuthenticatedUserId("by_key");

       //根据流程定义KEYdeploy_classpath ,会以最新版本的流程定义启动

        runtimeService.startProcessInstanceByKey("deploy_classpath");


ID流程启动后各表的变化



KEY流程启动后各表的变化




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值