永发信息网

activity怎么获取历史的流程变量

答案:1  悬赏:0  手机版
解决时间 2021-03-10 15:58
activity怎么获取历史的流程变量
最佳答案
1.Activiti表结构设计
Activiti的表结构设计分为两种类型:运行时(ACT_RU)、历史(ACT_HI)。
1.1 运行时变量
所有运行时的变量都保存在表:ACT_RU_VARIABLE中,这些变量可以在启动流程、完成任务、动态添加的方式插入到数据库,以便流程在处理中可以根据变量的值决定流程的走向。
1.2 历史变量呢?
为什么没有ACT_HI_VARIABLE这张表呢?
我在开始的时候也是苦恼为什么没有这张表,导致在跟踪历史流程信息的时候不能获取变量。
2.了解历史级别
Activit默认提供了4中历史级别:
none: 不保存任何历史记录,可以提高系统性能;
activity:保存所有的流程实例、任务、活动信息;
audit:也是Activiti的默认级别,保存所有的流程实例、任务、活动、表单属性;
full: 最完整的历史记录,除了包含audit级别的信息之外还能保存详细,例如:流程变量。
对于几种级别根据对功能的要求选择,如果需要日后跟踪详细可以开启full。
3.配置历史级别
3.1 在XML中配置
在引擎BeanprocessEngineConfiguration中配置:




3.2 动态配置
ProcessEngine processEngine = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResourceDefault()
.setHistory("full")
.buildProcessEngine();

4.读取历史变量
现在再重启你的应用,启动流程或者在任务complete之后查看ACT_HI_DETAIL表的数据已经记录了。

4.1 Java代码-5.10版本之前
List list = historyService.createHistoricDetailQuery().processInstanceId(processInstance.getId()).list();
for (HistoricDetail historicDetail : list) {
HistoricVariableUpdate variable = (HistoricVariableUpdate) historicDetail;
System.out.println("variable: " + variable.getVariableName() + " = " + variable.getValue());
}

4.2 Java代码-5.11版本之后
5.11版本在变量保存方面做了变动,单独创建了一张表ACT_HI_VARINST保存变量,可以通过下面的代码读取变量。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
看到他病了,心里涊涊一息地为他心痛,这就是
滕州市安居小区和荆善安居小区是同一个小区吗
为什么喜欢昆虫记
提示和尚分配打一成语
雪峰特约维修站地址在什么地方,想过去办事
3+2大专里都有什么专业呢?我是初三的学生,
对肠套叠下列哪一种情况不应采取非手术疗法A.
中国为什么不进口俄罗斯的汽车?
伊缘烧烤在哪里啊,我有事要去这个地方
在横线上填合适的古诗.对联.歇后语.格言
【称心如意的意思】称心如意的意思越快越好
c++if (head == NULL || head->next == NULL)
剑三有哪些接单的画师啊 想请帮忙画幅画
谁能给我创个qq.我没卡
石家庄从平南到火车站怎么走
推荐资讯
排污泵不能手动和自动
对于普通护肤品来讲,使用顺序是根据分子大小
儿童肠胃消化不好吃些什么饭菜较好
金源鸭血粉丝汤在什么地方啊,我要过去处理事
【赫尔辛基宣言】《赫尔辛基宣言》明确指出()
Приветствую тебя 怎么读?中
熔纤机不能熔接怎么办
冲减的存货跌价准备怎么算
老婆出走能用身份证地址查到自己老婆在哪里生
下列不属于药品的是A.疫苗B.化学原料药C.化学
当受纳水域的环境保护要求较高,且评价等级为
满堂红餐馆在哪里啊,我有事要去这个地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?