From eb67caf5078653191423bc91b023eabc1ea95be0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?=
<15040126243@163.com>
Date: Sun, 9 Jan 2022 00:52:35 +0800
Subject: [PATCH] =?UTF-8?q?add=20=E5=A2=9E=E5=8A=A0=20ruoyi-monitor=20?=
=?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E4=BA=8B=E4=BB=B6=E9=80=9A=E7=9F=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ruoyi-visual/ruoyi-monitor/pom.xml | 5 +++
.../monitor/notifier/CustomNotifier.java | 43 +++++++++++++++++++
2 files changed, 48 insertions(+)
create mode 100644 ruoyi-visual/ruoyi-monitor/src/main/java/com/ruoyi/modules/monitor/notifier/CustomNotifier.java
diff --git a/ruoyi-visual/ruoyi-monitor/pom.xml b/ruoyi-visual/ruoyi-monitor/pom.xml
index c095f2db..6d5f35b6 100644
--- a/ruoyi-visual/ruoyi-monitor/pom.xml
+++ b/ruoyi-visual/ruoyi-monitor/pom.xml
@@ -51,6 +51,11 @@
org.springframework.boot
spring-boot-starter-security
+
+
+ org.projectlombok
+ lombok
+
diff --git a/ruoyi-visual/ruoyi-monitor/src/main/java/com/ruoyi/modules/monitor/notifier/CustomNotifier.java b/ruoyi-visual/ruoyi-monitor/src/main/java/com/ruoyi/modules/monitor/notifier/CustomNotifier.java
new file mode 100644
index 00000000..6ce849fd
--- /dev/null
+++ b/ruoyi-visual/ruoyi-monitor/src/main/java/com/ruoyi/modules/monitor/notifier/CustomNotifier.java
@@ -0,0 +1,43 @@
+package com.ruoyi.modules.monitor.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.domain.values.InstanceId;
+import de.codecentric.boot.admin.server.notify.AbstractEventNotifier;
+import io.micrometer.core.lang.NonNullApi;
+import lombok.NonNull;
+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 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);
+ }
+
+ });
+ }
+
+}