|
@@ -0,0 +1,30 @@
|
|
|
+package com.flow.flowable.mapper;
|
|
|
+
|
|
|
+import org.flowable.common.engine.impl.persistence.deploy.DeploymentCache;
|
|
|
+import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl;
|
|
|
+import org.flowable.engine.impl.persistence.deploy.ProcessDefinitionCacheEntry;
|
|
|
+import org.flowable.engine.impl.persistence.entity.ProcessDefinitionEntity;
|
|
|
+import org.flowable.engine.impl.persistence.entity.data.impl.MybatisProcessDefinitionDataManager;
|
|
|
+
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+public class CustomProcessDefinitionDataManager extends MybatisProcessDefinitionDataManager {
|
|
|
+
|
|
|
+ private final DeploymentCache<ProcessDefinitionCacheEntry> deploymentCache;
|
|
|
+
|
|
|
+ public CustomProcessDefinitionDataManager(ProcessEngineConfigurationImpl processEngineConfiguration, DeploymentCache<ProcessDefinitionCacheEntry> deploymentCache) {
|
|
|
+ super(processEngineConfiguration);
|
|
|
+ this.deploymentCache = deploymentCache;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ProcessDefinitionEntity findById(String entityId) {
|
|
|
+ if (Objects.nonNull(this.deploymentCache)) {
|
|
|
+ ProcessDefinitionCacheEntry processDefinitionCacheEntry = this.deploymentCache.get(entityId);
|
|
|
+ if (Objects.nonNull(processDefinitionCacheEntry)) {
|
|
|
+ return (ProcessDefinitionEntity) processDefinitionCacheEntry.getProcessDefinition();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return super.findById(entityId);
|
|
|
+ }
|
|
|
+}
|