<!--记录历史详情的级别 共4个级别 -->
<!--<property name="history" value="none" /> --> <!-- 不记录历史流程,性能高,流程结束后不可读-->
<!--<property name="history" value="activity" />--> <!-- 归档流程实例和活动实例,流程变量不同步-->
<!--<property name="history" value="audit" />--> <!-- 默认值,在activiti基础上同步变量值,保持表单属性-->
<property name="history" value="full" /> <!--全部记录,性能较差,记录所有实例和变量的细节变化-->
import org.activiti.engine.HistoryService;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.history.HistoricActivityInstance;
import org.activiti.engine.history.HistoricActivityInstanceQuery;
import java.io.IOException;
import java.util.List;
/**
* 需求:
* 历史数据的查看
*
*
*/
public class HistoryQuery {
public static void main(String[] args) throws IOException {
//1.得到ProcessEngine对象
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//2.得到HistoryService
HistoryService historyService = processEngine.getHistoryService();
//3.得到HistoricActivitiInstanceQuery对象
HistoricActivityInstanceQuery historicActivityInstanceQuery = historyService.createHistoricActivityInstanceQuery();
historicActivityInstanceQuery.processInstanceId("2501");//设置流程实例的id
//4.执行查询
List<HistoricActivityInstance> list = historicActivityInstanceQuery
.orderByHistoricActivityInstanceStartTime().asc().list();//排序StartTime
//5.遍历查询结果
for (HistoricActivityInstance instance :list){
System.out.println(instance.getActivityId());
System.out.println(instance.getActivityName());
System.out.println(instance.getProcessDefinitionId());
System.out.println(instance.getProcessInstanceId());
System.out.println("=============================");
}
}
}