diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java index 63c26547a..acca4c4c1 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java @@ -115,6 +115,7 @@ public class FlowableConfiguration { configuration.addCustomJobHandler(new AsyncExtTaskInstJobHandler(extAxHiTaskInstService)); configuration.addCustomJobHandler(new AsyncRejectTaskJobHandler(extAxHiTaskInstService)); configuration.addCustomJobHandler(new AsyncTransferUserTaskJobHandler()); +// configuration.addCustomJobHandler(new AsyncTermNodeAlterJobHandler(refreshProperties)); configuration.addCustomJobHandler(new AsyncActivityLeaveJobHandler(bpmnProcessActivityService)); configuration.addCustomJobHandler(new AsyncActivityCallbackJobHandler()); configuration.addCustomJobHandler(new AsyncApproveTaskWithFormJobHandler()); diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomAddTimerJobCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomAddTimerJobCmd.java index 08c18a822..99edf3998 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomAddTimerJobCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomAddTimerJobCmd.java @@ -38,7 +38,7 @@ public class CustomAddTimerJobCmd extends AbstractCommand implements Seria Date alterTime; switch (dto.getTimeUnit()) { case "M": - alterTime = DateUtil.offsetDay(new Date(), dto.getDelayTime()); + alterTime = DateUtil.offsetMinute(new Date(), dto.getDelayTime()); break; case "H": alterTime = DateUtil.offsetHour(new Date(), dto.getDelayTime()); 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..8b30ea034 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; @@ -72,6 +73,12 @@ public class NodeAlterJobHandler extends IJobHandler { executedJobs.add(e); return; } + if (!refreshProperties.getAlterAllDefinitionKey()) { + if (!ListUtils.emptyIfNull(refreshProperties.getAlterDefinitionKeys()).contains(processInstance.getProcessDefinitionKey())) { + XxlJobHelper.log("skip alter by config"); + return; + } + } List tasks = taskService.createTaskQuery() .processInstanceId(e.getProcessInstanceId()) .taskDefinitionKey(e.getActivityId()) diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterProperties.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterProperties.java index ea95cd75b..9a3785419 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterProperties.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterProperties.java @@ -41,6 +41,10 @@ public class WorkflowEngineStarterProperties { */ private Boolean joinContainerGroup = false; + /** + * 是否创建本地调试专用的 GID 消费组 + */ + private Boolean createDebugGroup = false; /** *

该参数只针对容器环境生效

* 配合 joinContainerGroup 使用,且只在 joinContainerGroup = false 时生效 @@ -116,6 +120,14 @@ public class WorkflowEngineStarterProperties { this.joinContainerGroup = joinContainerGroup; } + public Boolean getCreateDebugGroup() { + return createDebugGroup; + } + + public void setCreateDebugGroup(Boolean createDebugGroup) { + this.createDebugGroup = createDebugGroup; + } + public String getSpecialId() { return specialId; } diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/common/condition/NonContainerEnvironmentCondition.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/common/condition/NonContainerEnvironmentCondition.java index 153aafe0c..63fea01ab 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/common/condition/NonContainerEnvironmentCondition.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/common/condition/NonContainerEnvironmentCondition.java @@ -44,6 +44,18 @@ public class NonContainerEnvironmentCondition implements Condition { return true; } + Boolean createDebugGroup = environment.getProperty("workflow.engine.starter.create-debug-group", Boolean.class); + if (Objects.isNull(createDebugGroup)) { + // 获取是否创建调试专用消费组 + createDebugGroup = new WorkflowEngineStarterProperties().getCreateDebugGroup(); + } + if (log.isDebugEnabled()) { + log.debug("workflow engine starter create-debug-group status: {} ", createDebugGroup); + } + if (!createDebugGroup) { + return false; + } + // 优先外部化配置 Boolean joinContainerGroup = environment.getProperty("workflow.engine.starter.join-container-group", Boolean.class); if (Objects.isNull(joinContainerGroup)) { diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java index 4725f3875..b8a9b3522 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/check/ImplementationReadyChecker.java @@ -72,10 +72,10 @@ public class ImplementationReadyChecker implements ApplicationListener