From 7487c92a523ae979f8fc1875b129c64f3b5f12e4 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期日, 09 一月 2022 00:54:59 +0800
Subject: [PATCH] add 增加 监控中心 自定义事件通知

---
 ruoyi-extend/ruoyi-monitor-admin/pom.xml                                                            |    5 +++++
 ruoyi-extend/ruoyi-monitor-admin/src/main/java/com/ruoyi/monitor/admin/notifier/CustomNotifier.java |   40 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/ruoyi-extend/ruoyi-monitor-admin/pom.xml b/ruoyi-extend/ruoyi-monitor-admin/pom.xml
index 4b0d591..e21cc6d 100644
--- a/ruoyi-extend/ruoyi-monitor-admin/pom.xml
+++ b/ruoyi-extend/ruoyi-monitor-admin/pom.xml
@@ -34,6 +34,11 @@
             <artifactId>spring-boot-admin-starter-client</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+
     </dependencies>
 
     <build>
diff --git a/ruoyi-extend/ruoyi-monitor-admin/src/main/java/com/ruoyi/monitor/admin/notifier/CustomNotifier.java b/ruoyi-extend/ruoyi-monitor-admin/src/main/java/com/ruoyi/monitor/admin/notifier/CustomNotifier.java
new file mode 100644
index 0000000..4d0a7a0
--- /dev/null
+++ b/ruoyi-extend/ruoyi-monitor-admin/src/main/java/com/ruoyi/monitor/admin/notifier/CustomNotifier.java
@@ -0,0 +1,40 @@
+package com.ruoyi.monitor.admin.notifier;
+
+import de.codecentric.boot.admin.server.domain.entities.Instance;
+import de.codecentric.boot.admin.server.domain.entities.InstanceRepository;
+import de.codecentric.boot.admin.server.domain.events.InstanceEvent;
+import de.codecentric.boot.admin.server.domain.events.InstanceStatusChangedEvent;
+import de.codecentric.boot.admin.server.notify.AbstractEventNotifier;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import reactor.core.publisher.Mono;
+
+/**
+ * 鑷畾涔変簨浠堕�氱煡澶勭悊
+ *
+ * @author Lion Li
+ */
+@Slf4j
+@Component
+public class CustomNotifier extends AbstractEventNotifier {
+
+    protected CustomNotifier(InstanceRepository repository) {
+        super(repository);
+    }
+
+    @Override
+    @SuppressWarnings("all")
+    protected Mono<Void> doNotify(InstanceEvent event, Instance instance) {
+        return Mono.fromRunnable(() -> {
+            // 瀹炰緥鐘舵�佹敼鍙樹簨浠�
+            if (event instanceof InstanceStatusChangedEvent) {
+                String registName = instance.getRegistration().getName();
+                String instanceId = event.getInstance().getValue();
+                String status = ((InstanceStatusChangedEvent) event).getStatusInfo().getStatus();
+                log.info("Instance Status Change: [{}],[{}],[{}]", registName, instanceId, status);
+            }
+
+        });
+    }
+
+}

--
Gitblit v1.9.3