From 3f912bb7119d421f771722aa3a89b95a0a5083a9 Mon Sep 17 00:00:00 2001
From: YunaiV <>
Date: Fri, 12 Jun 2020 22:10:46 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20Consul=20=E5=85=A5?=
=?UTF-8?q?=E9=97=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pom.xml | 64 +++++++++++++++++++
.../listenerdemo/ListenerDemoApplication.java | 15 +++++
.../listenerdemo/event/UserRegisterEvent.java | 27 ++++++++
.../listener/UserRegisterListener.java | 22 +++++++
.../src/main/resources/application.yml | 19 ++++++
labx-29/pom.xml | 1 +
pom.xml | 4 +-
7 files changed, 150 insertions(+), 2 deletions(-)
create mode 100644 labx-29/labx-29-sc-bus-consul-demo-listener-actuator/pom.xml
create mode 100644 labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/java/cn/iocoder/springcloud/labx29/listenerdemo/ListenerDemoApplication.java
create mode 100644 labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/java/cn/iocoder/springcloud/labx29/listenerdemo/event/UserRegisterEvent.java
create mode 100644 labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/java/cn/iocoder/springcloud/labx29/listenerdemo/listener/UserRegisterListener.java
create mode 100644 labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/resources/application.yml
diff --git a/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/pom.xml b/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/pom.xml
new file mode 100644
index 00000000..88bbd31c
--- /dev/null
+++ b/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/pom.xml
@@ -0,0 +1,64 @@
+
+
+
+ labx-29
+ cn.iocoder.springboot.labs
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ labx-29-sc-bus-consul-demo-listener-actuator
+
+
+ 1.8
+ 1.8
+ 2.2.4.RELEASE
+ Hoxton.SR1
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ ${spring.boot.version}
+ pom
+ import
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${spring.cloud.version}
+ pom
+ import
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul-bus
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
diff --git a/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/java/cn/iocoder/springcloud/labx29/listenerdemo/ListenerDemoApplication.java b/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/java/cn/iocoder/springcloud/labx29/listenerdemo/ListenerDemoApplication.java
new file mode 100644
index 00000000..ef24b9b8
--- /dev/null
+++ b/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/java/cn/iocoder/springcloud/labx29/listenerdemo/ListenerDemoApplication.java
@@ -0,0 +1,15 @@
+package cn.iocoder.springcloud.labx29.listenerdemo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.bus.jackson.RemoteApplicationEventScan;
+
+@SpringBootApplication
+@RemoteApplicationEventScan
+public class ListenerDemoApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ListenerDemoApplication.class, args);
+ }
+
+}
diff --git a/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/java/cn/iocoder/springcloud/labx29/listenerdemo/event/UserRegisterEvent.java b/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/java/cn/iocoder/springcloud/labx29/listenerdemo/event/UserRegisterEvent.java
new file mode 100644
index 00000000..4a25297f
--- /dev/null
+++ b/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/java/cn/iocoder/springcloud/labx29/listenerdemo/event/UserRegisterEvent.java
@@ -0,0 +1,27 @@
+package cn.iocoder.springcloud.labx29.listenerdemo.event;
+
+import org.springframework.cloud.bus.event.RemoteApplicationEvent;
+
+/**
+ * 用户注册事件
+ */
+public class UserRegisterEvent extends RemoteApplicationEvent {
+
+ /**
+ * 用户名
+ */
+ private String username;
+
+ public UserRegisterEvent() { // 序列化
+ }
+
+ public UserRegisterEvent(Object source, String originService, String destinationService, String username) {
+ super(source, originService);
+ this.username = username;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+}
diff --git a/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/java/cn/iocoder/springcloud/labx29/listenerdemo/listener/UserRegisterListener.java b/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/java/cn/iocoder/springcloud/labx29/listenerdemo/listener/UserRegisterListener.java
new file mode 100644
index 00000000..a4c52697
--- /dev/null
+++ b/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/java/cn/iocoder/springcloud/labx29/listenerdemo/listener/UserRegisterListener.java
@@ -0,0 +1,22 @@
+package cn.iocoder.springcloud.labx29.listenerdemo.listener;
+
+import cn.iocoder.springcloud.labx29.listenerdemo.event.UserRegisterEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.ApplicationListener;
+import org.springframework.stereotype.Component;
+
+/**
+ * 用户注册事件的监听器
+ */
+@Component
+public class UserRegisterListener implements ApplicationListener {
+
+ private Logger logger = LoggerFactory.getLogger(getClass());
+
+ @Override
+ public void onApplicationEvent(UserRegisterEvent event) {
+ logger.info("[onApplicationEvent][监听到用户({}) 注册]", event.getUsername());
+ }
+
+}
diff --git a/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/resources/application.yml b/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/resources/application.yml
new file mode 100644
index 00000000..16d2476e
--- /dev/null
+++ b/labx-29/labx-29-sc-bus-consul-demo-listener-actuator/src/main/resources/application.yml
@@ -0,0 +1,19 @@
+spring:
+ application:
+ name: listener-demo
+
+ cloud:
+ # Consul
+ consul:
+ host: 127.0.0.1
+ port: 8500
+
+server:
+ port: 18080 # 随机端口,方便启动多个消费者
+
+management:
+ endpoints:
+ # Actuator HTTP 配置项,对应 WebEndpointProperties 配置类
+ web:
+ exposure:
+ include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。
diff --git a/labx-29/pom.xml b/labx-29/pom.xml
index 0fb2f4d1..9a715297 100644
--- a/labx-29/pom.xml
+++ b/labx-29/pom.xml
@@ -14,6 +14,7 @@
labx-29-sc-bus-consul-demo-publisher
labx-29-sc-bus-consul-demo-listener
+ labx-29-sc-bus-consul-demo-listener-actuator
diff --git a/pom.xml b/pom.xml
index f51d7c63..2a28e45b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,7 +41,7 @@
- lab-31
+
@@ -104,7 +104,7 @@
- labx-28
+
labx-29