From 7c60c3c179d9e3e186cf04c16a4e8c750d124d68 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Mon, 8 Sep 2025 11:28:48 +0800 Subject: [PATCH 1/7] =?UTF-8?q?fix=20-=20=E6=B7=BB=E5=8A=A0=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E5=91=8A=E8=AD=A6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/workflow/core/engine/cmd/CustomAddTimerJobCmd.java | 2 +- .../workflow/server/common/config/XxlJobConfiguration.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) 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/common/config/XxlJobConfiguration.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/config/XxlJobConfiguration.java index 42c4500b3..dedea0c35 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/config/XxlJobConfiguration.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/config/XxlJobConfiguration.java @@ -1,6 +1,5 @@ package cn.axzo.workflow.server.common.config; -import cn.azxo.framework.common.annotation.OnlyPodsEnvironment; import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -14,7 +13,7 @@ import org.springframework.context.annotation.Configuration; * @author wangli * @since 2024/4/28 14:02 */ -@OnlyPodsEnvironment +//@OnlyPodsEnvironment @Configuration public class XxlJobConfiguration { Logger logger = LoggerFactory.getLogger(XxlJobConfiguration.class); From 0600c5c65b8e0e19ef793eb029eafe5329ecc61b Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Mon, 8 Sep 2025 11:29:05 +0800 Subject: [PATCH 2/7] =?UTF-8?q?fix=20-=20=E6=B7=BB=E5=8A=A0=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E5=91=8A=E8=AD=A6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/server/common/config/XxlJobConfiguration.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/config/XxlJobConfiguration.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/config/XxlJobConfiguration.java index dedea0c35..42c4500b3 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/config/XxlJobConfiguration.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/config/XxlJobConfiguration.java @@ -1,5 +1,6 @@ package cn.axzo.workflow.server.common.config; +import cn.azxo.framework.common.annotation.OnlyPodsEnvironment; import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -13,7 +14,7 @@ import org.springframework.context.annotation.Configuration; * @author wangli * @since 2024/4/28 14:02 */ -//@OnlyPodsEnvironment +@OnlyPodsEnvironment @Configuration public class XxlJobConfiguration { Logger logger = LoggerFactory.getLogger(XxlJobConfiguration.class); From 7d75eccfc2716608af12e2f855bb40857cc54eac Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Mon, 8 Sep 2025 11:44:42 +0800 Subject: [PATCH 3/7] =?UTF-8?q?fix=20-=20=E6=B7=BB=E5=8A=A0=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E5=91=8A=E8=AD=A6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../axzo/workflow/server/xxljob/NodeAlterJobHandler.java | 7 +++++++ 1 file changed, 7 insertions(+) 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; From d14696f8d68cf6555021f0cde83a952fd4ddd0d9 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 12 Sep 2025 10:20:15 +0800 Subject: [PATCH 4/7] =?UTF-8?q?fix=20-=20=E5=A4=84=E7=90=86XXL=E2=80=94?= =?UTF-8?q?=E2=80=94JOB=20=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../axzo/workflow/server/xxljob/NodeAlterJobHandler.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 6b0944db4..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 @@ -69,16 +69,16 @@ 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 (Objects.isNull(processInstance)) { + executedJobs.add(e); + return; + } 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; - } List tasks = taskService.createTaskQuery() .processInstanceId(e.getProcessInstanceId()) .taskDefinitionKey(e.getActivityId()) From ffb9e023c8eb0e9a429082ad6f7a70ffe252f046 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Wed, 22 Oct 2025 11:11:20 +0800 Subject: [PATCH 5/7] =?UTF-8?q?feat=20-=20=E7=A7=BB=E9=99=A4=20Flowable=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=B8=AD=E9=87=8D=E5=A4=8D=E7=9A=84=20JobHan?= =?UTF-8?q?dler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/workflow/core/conf/FlowableConfiguration.java | 1 - 1 file changed, 1 deletion(-) 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 565d0dd4a..0ba5b3182 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 @@ -114,7 +114,6 @@ public class FlowableConfiguration { configuration.addCustomJobHandler(new AsyncRejectTaskJobHandler(extAxHiTaskInstService)); configuration.addCustomJobHandler(new AsyncTransferUserTaskJobHandler()); // configuration.addCustomJobHandler(new AsyncTermNodeAlterJobHandler(refreshProperties)); - configuration.addCustomJobHandler(new AsyncCountersignUserTaskJobHandler(extAxHiTaskInstService)); configuration.addCustomJobHandler(new AsyncActivityLeaveJobHandler(bpmnProcessActivityService)); configuration.addCustomJobHandler(new AsyncActivityCallbackJobHandler()); configuration.addCustomJobHandler(new AsyncApproveTaskWithFormJobHandler()); From 571a1771f1ec2f6362173b1d908dc715eb0c1758 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Wed, 22 Oct 2025 20:02:38 +0800 Subject: [PATCH 6/7] =?UTF-8?q?feat=20-=20=E8=B0=83=E6=95=B4=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=20MQ=20=E7=9B=91=E5=90=AC=E7=9A=84=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E7=BA=A7=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../starter/mq/check/ImplementationReadyChecker.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 Date: Thu, 23 Oct 2025 14:45:31 +0800 Subject: [PATCH 7/7] =?UTF-8?q?feat=20-=20=E8=B0=83=E6=95=B4debug=E6=B6=88?= =?UTF-8?q?=E8=B4=B9=E7=BB=84=E5=88=9B=E5=BB=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../starter/WorkflowEngineStarterProperties.java | 12 ++++++++++++ .../condition/NonContainerEnvironmentCondition.java | 12 ++++++++++++ 2 files changed, 24 insertions(+) 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)) {