From 864789a1b19b1c082511a298aea55acaa5621d48 Mon Sep 17 00:00:00 2001 From: yangqicheng Date: Fri, 24 May 2024 18:42:55 +0800 Subject: [PATCH] =?UTF-8?q?update=20-=20REQ-2324-=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E5=BC=82=E5=B8=B8=E5=BE=85=E5=8A=9E=E6=9C=AA?= =?UTF-8?q?=E6=81=A2=E5=A4=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ApproveErrorReporterEventListener.java | 28 ++++++++----------- .../error/ErrorReporterEventListener.java | 4 +-- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/error/ApproveErrorReporterEventListener.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/error/ApproveErrorReporterEventListener.java index 562b761ac..43c333b06 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/error/ApproveErrorReporterEventListener.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/error/ApproveErrorReporterEventListener.java @@ -2,7 +2,6 @@ package cn.axzo.workflow.server.controller.listener.error; import cn.axzo.workflow.common.model.request.bpmn.BpmnNoticeConf; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskAuditDTO; -import cn.axzo.workflow.core.common.exception.WorkflowEngineException; import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper; import cn.axzo.workflow.core.engine.event.MessagePushEvent; import cn.axzo.workflow.core.engine.event.MessagePushEventBuilder; @@ -15,7 +14,7 @@ import org.flowable.bpmn.model.Process; import org.flowable.common.engine.api.delegate.event.FlowableEngineEventType; import org.flowable.common.engine.api.delegate.event.FlowableEvent; import org.flowable.common.engine.api.delegate.event.FlowableEventDispatcher; -import org.flowable.common.engine.impl.event.FlowableEntityExceptionEventImpl; +import org.flowable.common.engine.impl.event.FlowableEntityEventImpl; import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl; import org.flowable.engine.impl.util.CommandContextUtil; import org.flowable.engine.impl.util.ProcessDefinitionUtil; @@ -54,10 +53,10 @@ public class ApproveErrorReporterEventListener implements BpmnAsyncJobEventListe @Override public void notify(FlowableEvent flowableEvent) { log.info("ApproveErrorReporterEventListener-flowableEvent: {}", JSONUtil.toJsonStr(flowableEvent)); - if (!(flowableEvent instanceof FlowableEntityExceptionEventImpl)) { + if (!(flowableEvent instanceof FlowableEntityEventImpl)) { return; } - FlowableEntityExceptionEventImpl jobEvent = (FlowableEntityExceptionEventImpl) flowableEvent; + FlowableEntityEventImpl jobEvent = (FlowableEntityEventImpl) flowableEvent; JobInfo jobInfo = (JobInfo) jobEvent.getEntity(); String handlerType = jobInfo.getJobHandlerType(); //只处理审批类型任务 @@ -71,19 +70,14 @@ public class ApproveErrorReporterEventListener implements BpmnAsyncJobEventListe } BpmnTaskAuditDTO dto = JSONUtil.toBean(jobInfo.getCustomValues(), BpmnTaskAuditDTO.class); - if (jobEvent.getCause() instanceof WorkflowEngineException) { - WorkflowEngineException exception = (WorkflowEngineException) jobEvent.getCause(); - if (!IGNORE_ERROR_CODES.contains(exception.getCode())) { - Process process = ProcessDefinitionUtil.getProcess(((FlowableEntityExceptionEventImpl) flowableEvent).getProcessDefinitionId()); - //获取消息配置 - Optional noticeConfig = BpmnMetaParserHelper.getNoticeConfig(process); - ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration(); - FlowableEventDispatcher eventDispatcher = processEngineConfiguration.getEventDispatcher(); - MessagePushEvent event = MessagePushEventBuilder.createPendingRollbackEvent(jobEvent.getProcessInstanceId(), jobInfo.getTenantId(), dto.getTaskId(), noticeConfig.orElse(new BpmnNoticeConf())); - log.info("发送恢复待办的流程事件消息: taskDto:{},event:{}", JSONUtil.toJsonStr(dto), JSONUtil.toJsonStr(event)); - eventDispatcher.dispatchEvent(event, processEngineConfiguration.getEngineCfgKey()); - } - } + Process process = ProcessDefinitionUtil.getProcess(jobEvent.getProcessDefinitionId()); + //获取消息配置 + Optional noticeConfig = BpmnMetaParserHelper.getNoticeConfig(process); + ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration(); + FlowableEventDispatcher eventDispatcher = processEngineConfiguration.getEventDispatcher(); + MessagePushEvent event = MessagePushEventBuilder.createPendingRollbackEvent(jobEvent.getProcessInstanceId(), jobInfo.getTenantId(), dto.getTaskId(), noticeConfig.orElse(new BpmnNoticeConf())); + log.info("发送恢复待办的流程事件消息: taskDto:{},event:{}", JSONUtil.toJsonStr(dto), JSONUtil.toJsonStr(event)); + eventDispatcher.dispatchEvent(event, processEngineConfiguration.getEngineCfgKey()); } @Override diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/error/ErrorReporterEventListener.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/error/ErrorReporterEventListener.java index f305c8636..2fa624d0a 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/error/ErrorReporterEventListener.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/error/ErrorReporterEventListener.java @@ -14,7 +14,7 @@ import org.springframework.stereotype.Component; import java.util.Objects; -import static org.flowable.common.engine.api.delegate.event.FlowableEngineEventType.JOB_MOVED_TO_DEADLETTER; +import static org.flowable.common.engine.api.delegate.event.FlowableEngineEventType.JOB_EXECUTION_FAILURE; /** * 异步任务执行异常的扩展监听器 @@ -33,7 +33,7 @@ public class ErrorReporterEventListener implements BpmnAsyncJobEventListener { @Override public boolean support(FlowableEngineEventType eventType) { - return Objects.equals(JOB_MOVED_TO_DEADLETTER, eventType); + return Objects.equals(JOB_EXECUTION_FAILURE, eventType); } @Override