jBPM4.4:查询 API

从jBPM 4.0开始,一个新的API被介绍使用查询系统, 可以覆盖大多数你可以想到的查询。

 

开发者需要编写企业特定查询时 当然也可以使用Hibenrate。但是对大多数用例来说, 查询API是不足够的。 查询可以写成同ideas方式( ),用于主要的jBPM概念: 流程实例,任务,发布,历史流程,等等。

 

List<ProcessInstance> results = executionService.createProcessInstanceQuery()
                                       .processDefinitionId("my_process_definition")
                                       .notSuspended()
                                       .page(0, 50)
                                       .list();
 

这个例子返回指定流程定义的所有流程实例, 流程定义不是暂停的( )。结果支持分页,第一页的前50条数据 会被我们获得。

 

查询任务也可以使用相同的方式完成:

List<Task> myTasks = taskService.createTaskQuery()
    .processInstanceId(piId)
    .assignee("John")
    .page(100, 120)
    .orderDesc(TaskQuery.PROPERTY_DUEDATE)
    .list();

 这个查询会获得指定流程实例,分配给John的所有任务, 也使用分页,对duedate进行逆序查询。

 

每个服务拥有操作这些统一查询的功能(比如,查询job通过 ManagementService 查询完成的流程实例通过HistoryService 。 可以参考服务的javadoc了解这些查询API的所有细节。)

 

 

你可能感兴趣的:(jbpm)