JBPM4 - HistoryService

在流程实例执行的过程中,会不断触发事件。从那些事件中,运行和完成流程的历史信息会被收集到历史表中。

HistoryService 提供了 对那些信息的访问功能。

如果想查找某一特定流程定义的所有流程实例, 可以像这样操作:

List<HistoryProcessInstance> historyProcessInstances = historyService 
  .createHistoryProcessInstanceQuery() 
  .processDefinitionId("ICL-1") 
  .orderAsc(HistoryProcessInstanceQuery.PROPERTY_STARTTIME) 
  .list(); 

单独的活动流程也可以作为HistoryActivityInstance 保存到历史信息中。

List<HistoryActivityInstance> histActInsts = historyService 
    .createHistoryActivityInstanceQuery() 
    .processDefinitionId("ICL-1") 
    .activityName("a") 
    .list(); 

也可以使用简易方法avgDurationPerActivity和choiceDistribution。可以通过javadocs获得这些方法的更多信息。

有时,我们需要获得指定流程实例已经过的节点的完整列表。下面的查询语句可以用来获得所有已经执行的节点列表:

List<HistoryActivityInstance> histActInsts = historyService 
    .createHistoryActivityInstanceQuery() 
    .processInstanceId("ICL.12345") 
    .list(); 

上面的查询与通过execution id查询有一些不同。有时execution id和流程实例id是不同的, 当一个节点中使用了定时器,execution id中就会使用额外的后缀, 这就会导致当我们通过execution id查询时, 这个节点不会出现在结果列表中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值