如何清理卡蒙达历史

时间:2019-08-15 14:28:46

标签: history camunda

我的应用程序以Camunda 7.7运行。到目前为止,所有数据都保存在Camunda表(ACT_XXX)中-它们变得很大。因此,现在我想清理表并配置Camunda,以便14天后清理数据。

直到现在,我尝试将TTL设置为1天(便于测试!)

List<ProcessDefinition> processDefinitions = processEngine.getRepositoryService()
   .createProcessDefinitionQuery()
   .deploymentId(deployment.getId()).list();

for (ProcessDefinition processDefinition : processDefinitions) {
  processEngine.getRepositoryService()
    .updateProcessDefinitionHistoryTimeToLive(
      processDefinition.getId(), 1);
}

以及下午的清理窗口:

configuration.setHistoryCleanupBatchWindowStartTime("15:00");
configuration.setHistoryCleanupBatchWindowEndTime("16:00");

这,这不起作用。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

就我而言,在使用Spring Boot运行时,它只能通过定义以下属性来工作:

camunda:
  bpm:
    generic-properties:
      properties:
        historyCleanupBatchWindowStartTime: "00:01"
        historyCleanupBatchWindowEndTime: "23:59"
        historyCleanupStrategy: endTimeBased

可以肯定的是,您可以检查要删除的对象上的列REMOVAL_TIME吗?如果您在流程定义中设置了ttl,则引擎应自动填充它。

P.s。我正在运行7.11.0