act_hi_taskinst表历史任务记录不同步,无数据
今天上午遇到一个很奇怪的问题,就是每当我发起一个新的流程实例时候,运行区流程实例表act_ru_execution、运行区任务表act_ru_task里都是有数据的,以及历史区流程实例表act_hi_procinst里也有数据同步,但是任务历史表act_hi_taskinst里一直为空的,没数据同步过来,因为项目是springboot整合,我也查阅了相关资料,让我在application.yml配置文件里配置
我配置了后,跑流程,审批任务,还是没有同步数据到表act_hi_taskinst里,由于项目是若依开源整合flowable工作流的二开项目,我想到有可能是在配置类里高优先级定死了hsitory level,果然发现是在配置类FlowableConfig里写死了历史级别为ACTIVITY,修改配置类后数据可以正常同步了。
package com.ruoyi.flowable.config;import org.flowable.common.engine.impl.history.HistoryLevel;
import org.flowable.engine.impl.db.DbIdGenerator;
import org.flowable.spring.SpringProcessEngineConfiguration;
import org.flowable.spring.boot.EngineConfigurationConfigurer;
import org.springframework.context.annotation.Configuration;/*** 扩展流程配置*/
@Configuration
public class FlowableConfig implements EngineConfigurationConfigurer<SpringProcessEngineConfiguration> {@Overridepublic void configure(SpringProcessEngineConfiguration engineConfiguration) {// 设置字体engineConfiguration.setActivityFontName("宋体");engineConfiguration.setLabelFontName("宋体");engineConfiguration.setAnnotationFontName("宋体");// 使用数据库ID生成器engineConfiguration.setIdGenerator(new DbIdGenerator());// 设置历史级别为ACTIVITY,减少数据存储量// 可选值: NONE, ACTIVITY, AUDIT, FULLengineConfiguration.setHistoryLevel(HistoryLevel.AUDIT);// 禁用作业执行器,减少启动时的资源消耗engineConfiguration.setAsyncExecutorActivate(false);// 设置命令执行器属性,提高性能engineConfiguration.setEnableSafeBpmnXml(true);// 设置实体缓存大小,提高性能engineConfiguration.setProcessDefinitionCacheLimit(50);// 设置流程定义缓存,提高性能engineConfiguration.setEnableProcessDefinitionInfoCache(true);}
}