update(REQ-2516) - 增加 MQ 监控的,发现死信队列的钩子,同时,也新增可动态开关监控的管理功能

This commit is contained in:
wangli 2024-06-14 18:34:54 +08:00
parent ebef19a9d5
commit 1e45bb750a

View File

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