如题,org.flowable.engine.runtime.ChangeActivityStateBuilder#moveActivityIdToParentActivityId 会丢失历史数据,用的 callActivity ,从子流程中往外跳,当前这个 callActivity 的整个记录都会被删掉。这咋搞,如果直接操作主流程使用 moveActivityIdTo 历史记录不会丢失,但是 callActivity 的流程变量不会映射到主流程。
想问问各位有遇到过么,有什么解决办法没(除了手动记录)
1
Dlin OP 走了一遍源码,发现 /Users/dlin/.m2/repository/org/flowable/flowable-engine/6.8.0/flowable-engine-6.8.0-sources.jar!/org/flowable/engine/impl/persistence/entity/ExecutionEntityManagerImpl.java:545 处的
if (deleteHistory) { getHistoryManager().recordProcessInstanceDeleted(execution.getId(), execution.getProcessDefinitionId(), execution.getTenantId()); } 会判断是否删除历史,于是重写了参数 deleteHistory 的传值 DefaultDynamicStateManager#safeDeleteSubProcessInstance 目前可以保留历史了 |
2
Dlin OP 但是还有没有其他坑就不得而知了,不知道官方为何不保留历史。
|
3
Sum0l 2023-05-06 12:51:52 +08:00
你为什么不提 issue ,这里能找到 commiter 还是咋滴
|