• 工作流--JBPM核心ProcessEngine


       JBPM的核心引擎是ProcessEngine ,通过该引擎来完成工作流程的正常流转,具体的处理参见上篇博客《工作流--JBPM(二) 简单的流程演示》。下面说一下核心引擎的常用方法

       一、获取ProcessEngine的方法

        方法1:       

    private static ProcessEngine processEngine = Configuration.getProcessEngine(); //使用Configuration获取默认配置
         该方法使用的是默认的配置文件jbpm.cfg.xml

        方法2:        

    private static ProcessEngine processEngine =new Configuration() //
    	                      .setResource("jbpm.cfg.xml")  //自定义配置文件
    	                      .buildProcessEngine(); //创建流程引擎
          通过使用setResource方法,可以设置自定义的配置文件。两种方法中的配置文件放置在src目录下


      二、ProcessEngine的常用方法

        1、getRepositoryService

           流程资源服务接口。管理流程定义的相关操作(部署,查询,删除等)。

           例如:       

     processEngine.getRepositoryService() //资源服务接口
                  .createDeployment() //创建部署流程
                  .addResourceFromClasspath("helloworld/helloworld.jpdl.xml") //加载流程文件
                  .addResourceFromClasspath("helloworld/helloworld.png") //加载流程图片
                  .deploy();执行
            通过调用getRepositoryService()资源服务,提供部署流程的一系列方法,来实现流程的部署。

        2、getExecutionService

           流程执行服务接口。提供启动流程实例、推进、删除等操作

           例如:       

    processEngine.getExecutionService().startProcessInstanceByKey("helloworld");//启动helloworld流程
            通过调用getExecutionService执行服务,获取流程启动的方法,除了startProcessInstanceByKey方法之外还有startProcessInstanceById等,可以根据指定条件进行启动。

        3、getTaskService

           人工任务服务接口。提供对任务的创建、提交、查询、保存、删除等操作。

           例如:       

    //查询,根据用户id
      List<Task> taskList=processEngine.getTaskService().findPersonalTasks(userId);
    //处理,根据任务id
      processEngine.getTaskService().completeTask(taskId);
            使用的是TaskService接口,主要是对任务列表进行操作,此外还有deleteTask进行删除任务等。

        4、HistoryService

           流程历史服务接口。提供对任务的管理操作。提供对流程历史库中历史流程实例、历史活动实例等记录的查询。

            例如:          

    List<HistoryTask> historyTask=processEngine.getHistoryService().createHistoryTaskQuery().list();
            获取历史任务列表。

        5、ManagementService

           流程管理控制服务接口

        6、IdentityService

           身份认证服务接口。提供对流程用户、用户组管理。


       小结:

         熟练掌握好这些基本的操作,能够加深对流程处理的理解,知道流程处理的过程。在这个学习过程中,需要仔细研究源码,能够做到用什么流程就知道用何方法,更进一步的是,去学习这样的思想。

        

  • 相关阅读:
    MVC案例之新增与修改Customer
    MVC案例之模糊查询与删除
    MVC案例之多个请求对应一个servlet
    MVC案例
    MVC设计模式-查询与删除
    JSP指令 & 中文乱码问题
    域对象的作用范围 & 请求的转发和重定向
    JSP
    HttpServlet
    istio-ingress网关安全
  • 原文地址:https://www.cnblogs.com/victor-grace/p/7253646.html
Copyright © 2020-2023  润新知