JBPM4中的ProcessEngine与Service API详解编程语言

JBPM4中的ProcessEngine与Service API详解编程语言


1.获取processEngine的方法:

  a) 方法一

  private ProcessEngine processEngine = new Configuration().setResource(“jbpm.cfg.xml”).buildProcessEngine();

  b) 方法二

  // 获取单例的ProcessEngine对象,使用的是默认的配置文件(jbpm.cfg.xml)

  private ProcessEngine processEngine = Configuration.getProcessEngine();


2.常用的Service API(JBPM所有的操作都是通过Service完成的)

  a) processEngine.getRepositoryService();//管理流程定义的相关操作(部署,查询,删除等)

  b) processEngine.getExecutionService();//管理执行的,流程实例的管理操作,一次具体执行的信息,包括启动、推进、删除Execution等操作

  c) processEngine.getTaskService();//管理任务的(查询任务,办理任务)

  d) processEngine.getHistoryService();//管理历史的数据(执行完的数据管理,主要是查询)


3.API风格

  a) 方法调用链.

  b) 每一个方法都是流程有关的一个业务操作,默认是一个独立的事务.


4.查询的有关API            

  功能说明

  相应的查询API

  查询“流程定义”

  ProcessDefinitionQuery processDefinitionQuery =

  processEngine.getRepositoryService()

  .createProcessDefinitionQuery();

  查询“执行对象”

  (流程实例)

  ProcessInstanceQuery processInstanceQuery =

  processEngine.getExecutionService() //

  .createProcessInstanceQuery();

  查询“任务”

  TaskQuery taskQuery = //

  processEngine.getTaskService()//

  .createTaskQuery();

  查询“执行历史”

  (流程实例历史)

  HistoryProcessInstanceQuery historyProcessInstanceQuery =

  processEngine.getHistoryService()

  .createHistoryProcessInstanceQuery();

  查询“任务历史”

  HistoryTaskQuery historyTaskQuery =

  processEngine.getHistoryService()

  .createHistoryTaskQuery();

  以上列出的Query对象有:

  1. ProcessDefinitionQuery

  2. ProcessInstanceQuery

  3. TaskQuery

  4. HistoryProcessInstanceQuery

  5. HistoryTaskQuery

  这些Query对象的使用方法都是一致的,如下所示:

  1, 添加过滤条件:调用其中的有关方法指定条件即可。如:

  a) processDefinitionQuery.processDefinitionKey(“请假”)是指定查询key为”请假”的流程定义;

  b) taskQuery.assignee(“张三”)是指定办理人为”张三”的任务。

  2, 添加排序条件:

  a) 调用 xxQuery.orderAsc(property),表示按某属性升序排列

  b) 调用 xxQuery.orderDesc(property),表示按某属性降序排列

  c) 可指定多个排序条件,就是代表第1顺序,第2顺序…等。

  3, 指定分页有关信息:

  a) 调用方法xxQuery.page(firstResult, maxResults);

  b) 这是指定first与max的值(就是hibernate中的Query.setFirstResult()与Query.setMaxResults())

  c) 如果没有调用这个方法,代表要查询出符合条件的所有记录。

  4, 查询得到结果:

  a) 调用方法xxQuery.list(); 表示查询列表

  b) 调用方法 xxQuery.uniqueResult(); 表示查询唯一的结果调用方法xxQuery.count(); 表示查询符合条件的记录数量

JBPM4中的ProcessEngine与Service API详解编程语言

转载请注明来源网站:blog.ytso.com谢谢!

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/14685.html

(0)
上一篇 2021年7月19日 17:03
下一篇 2021年7月19日 17:03

相关推荐

发表回复

登录后才能评论