diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/monitor/console/WorkflowEngineStarterMQMonitorController.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/monitor/console/WorkflowEngineStarterMQMonitorController.java index d1689bd5d..733e17039 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/monitor/console/WorkflowEngineStarterMQMonitorController.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/monitor/console/WorkflowEngineStarterMQMonitorController.java @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.HashMap; import java.util.Map; +import java.util.Objects; import static cn.axzo.workflow.starter.StarterRPCInvokeMQConfiguration.DEFAULT_EVENT; import static cn.axzo.workflow.starter.common.constant.StarterConstants.MQ_GID_NAME_SEGMENT; @@ -37,7 +38,7 @@ public class WorkflowEngineStarterMQMonitorController { @Resource private ObjectProvider mqAdminExtObjectProvider; @Resource - private WorkflowEngineStarterDefaultMQMonitor monitor; + private ObjectProvider monitorObjectProvider; @Resource private Environment environment; @Value("${spring.application.name}") @@ -82,6 +83,10 @@ public class WorkflowEngineStarterMQMonitorController { */ @GetMapping("/m/set") public CommonResponse changeMonitorState(@RequestParam("status") Boolean status) { + WorkflowEngineStarterDefaultMQMonitor monitor = monitorObjectProvider.getIfAvailable(); + if (Objects.isNull(monitor)) { + return CommonResponse.success("未开启·死信队列·的监控,如需,请设置 workflow.engine.starter.enableDlqMonitor = true 后再重试!"); + } if (status) { if (!monitor.isRunning()) { monitor.start();