diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/xxljob/NodeAlterJobHandler.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/xxljob/NodeAlterJobHandler.java index f3c95a685..6b0944db4 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/xxljob/NodeAlterJobHandler.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/xxljob/NodeAlterJobHandler.java @@ -18,6 +18,7 @@ import com.xxl.job.core.context.XxlJobHelper; import com.xxl.job.core.handler.annotation.XxlJob; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.ListUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,6 +69,12 @@ public class NodeAlterJobHandler extends IJobHandler { jobs.forEach(e -> { XxlJobHelper.log("start execution of job: {}", JSON.toJSONString(e)); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(e.getProcessInstanceId()).singleResult(); + if (!refreshProperties.getAlterAllDefinitionKey()) { + if (!ListUtils.emptyIfNull(refreshProperties.getAlterDefinitionKeys()).contains(processInstance.getProcessDefinitionKey())) { + XxlJobHelper.log("skip alter by config"); + return; + } + } if (Objects.isNull(processInstance)) { executedJobs.add(e); return;