From 1868d28df0aec7fe818c7d41445feeb80fe963ef Mon Sep 17 00:00:00 2001
From: YunaiV <>
Date: Thu, 19 Mar 2020 08:45:33 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20spring=20cloud=20sleuth=20?=
=?UTF-8?q?=E9=93=BE=E8=B7=AF=E8=BF=BD=E8=B8=AA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
labx-13/labx-13-sc-sleuth-db-mongodb/pom.xml | 78 +++++++++++++++++++
.../springmvcdemo/UserServiceApplication.java | 13 ++++
.../config/SleuthConfiguration.java | 22 ++++++
.../controller/UserController.java | 30 +++++++
.../springmvcdemo/dataobject/UserDO.java | 39 ++++++++++
.../src/main/resources/application.yml | 23 ++++++
...guration.java => SleuthConfiguration.java} | 2 +-
labx-13/pom.xml | 1 +
8 files changed, 207 insertions(+), 1 deletion(-)
create mode 100644 labx-13/labx-13-sc-sleuth-db-mongodb/pom.xml
create mode 100644 labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/UserServiceApplication.java
create mode 100644 labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/config/SleuthConfiguration.java
create mode 100644 labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/controller/UserController.java
create mode 100644 labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/dataobject/UserDO.java
create mode 100644 labx-13/labx-13-sc-sleuth-db-mongodb/src/main/resources/application.yml
rename labx-13/labx-13-sc-sleuth-db-redis/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/config/{ZipkinConfiguration.java => SleuthConfiguration.java} (97%)
diff --git a/labx-13/labx-13-sc-sleuth-db-mongodb/pom.xml b/labx-13/labx-13-sc-sleuth-db-mongodb/pom.xml
new file mode 100644
index 00000000..890d82b0
--- /dev/null
+++ b/labx-13/labx-13-sc-sleuth-db-mongodb/pom.xml
@@ -0,0 +1,78 @@
+
+
+
+ labx-13
+ cn.iocoder.springboot.labs
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ labx-13-sc-sleuth-db-mongodb
+
+
+ 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.boot
+ spring-boot-starter-data-mongodb
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-zipkin
+
+
+
+
+ io.opentracing.brave
+ brave-opentracing
+ 0.35.0
+
+
+
+
+ io.opentracing.contrib
+ opentracing-mongo-driver
+ 0.1.5
+
+
+
+
diff --git a/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/UserServiceApplication.java b/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/UserServiceApplication.java
new file mode 100644
index 00000000..5386ea90
--- /dev/null
+++ b/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/UserServiceApplication.java
@@ -0,0 +1,13 @@
+package cn.iocoder.springcloud.labx13.springmvcdemo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class UserServiceApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(UserServiceApplication.class, args);
+ }
+
+}
diff --git a/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/config/SleuthConfiguration.java b/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/config/SleuthConfiguration.java
new file mode 100644
index 00000000..4ae5842f
--- /dev/null
+++ b/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/config/SleuthConfiguration.java
@@ -0,0 +1,22 @@
+package cn.iocoder.springcloud.labx13.springmvcdemo.config;
+
+import com.mongodb.MongoClientOptions;
+import io.opentracing.Tracer;
+import io.opentracing.contrib.mongo.common.TracingCommandListener;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class SleuthConfiguration {
+
+ // ==================== MongoDB 相关 ====================
+
+ @Bean
+ public MongoClientOptions mongoClientOptions(Tracer tracer) {
+ // 创建 TracingCommandListener 对象
+ TracingCommandListener listener = new TracingCommandListener.Builder(tracer).build();
+ // 创建 MongoClientOptions 对象,并设置监听器
+ return MongoClientOptions.builder().addCommandListener(listener).build();
+ }
+
+}
diff --git a/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/controller/UserController.java b/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/controller/UserController.java
new file mode 100644
index 00000000..dd617728
--- /dev/null
+++ b/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/controller/UserController.java
@@ -0,0 +1,30 @@
+package cn.iocoder.springcloud.labx13.springmvcdemo.controller;
+
+import cn.iocoder.springcloud.labx13.springmvcdemo.dataobject.UserDO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/user")
+public class UserController {
+
+ @Autowired
+ private MongoTemplate mongoTemplate;
+
+ @GetMapping("/get")
+ public String get(@RequestParam("id") Integer id) {
+ this.findById(1);
+ return "success";
+ }
+
+ public UserDO findById(Integer id) {
+ return mongoTemplate.findOne(new Query(Criteria.where("_id").is(id)), UserDO.class);
+ }
+
+}
diff --git a/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/dataobject/UserDO.java b/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/dataobject/UserDO.java
new file mode 100644
index 00000000..6b045620
--- /dev/null
+++ b/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/dataobject/UserDO.java
@@ -0,0 +1,39 @@
+package cn.iocoder.springcloud.labx13.springmvcdemo.dataobject;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.util.Date;
+
+/**
+ * 用户 DO
+ */
+@Document(collection = "User")
+public class UserDO {
+
+ @Id
+ private Integer id;
+ /**
+ * 账号
+ */
+ private String username;
+ /**
+ * 密码
+ */
+ private String password;
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+ @Override
+ public String toString() {
+ return "UserDO{" +
+ "id=" + id +
+ ", username='" + username + '\'' +
+ ", password='" + password + '\'' +
+ ", createTime=" + createTime +
+ '}';
+ }
+
+}
diff --git a/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/resources/application.yml b/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/resources/application.yml
new file mode 100644
index 00000000..fa4d608b
--- /dev/null
+++ b/labx-13/labx-13-sc-sleuth-db-mongodb/src/main/resources/application.yml
@@ -0,0 +1,23 @@
+spring:
+ application:
+ name: user-service # 服务名
+
+ # Zipkin 配置项,对应 ZipkinProperties 类
+ zipkin:
+ base-url: http://127.0.0.1:9411 # Zipkin 服务的地址
+
+ # Spring Cloud Sleuth 配置项
+ sleuth:
+ # Spring Cloud Sleuth 针对 Web 组件的配置项,例如说 SpringMVC
+ web:
+ enabled: true # 是否开启,默认为 true
+
+ data:
+ # MongoDB 配置项,对应 MongoProperties 类
+ mongodb:
+ host: 127.0.0.1
+ port: 27017
+ database: yourdatabase
+ username: test01
+ password: password01
+ # 上述属性,也可以只配置 uri
diff --git a/labx-13/labx-13-sc-sleuth-db-redis/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/config/ZipkinConfiguration.java b/labx-13/labx-13-sc-sleuth-db-redis/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/config/SleuthConfiguration.java
similarity index 97%
rename from labx-13/labx-13-sc-sleuth-db-redis/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/config/ZipkinConfiguration.java
rename to labx-13/labx-13-sc-sleuth-db-redis/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/config/SleuthConfiguration.java
index fce875d9..f034519d 100644
--- a/labx-13/labx-13-sc-sleuth-db-redis/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/config/ZipkinConfiguration.java
+++ b/labx-13/labx-13-sc-sleuth-db-redis/src/main/java/cn/iocoder/springcloud/labx13/springmvcdemo/config/SleuthConfiguration.java
@@ -10,7 +10,7 @@ import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
@Configuration
-public class ZipkinConfiguration {
+public class SleuthConfiguration {
// ==================== Redis 相关 ====================
@Bean
diff --git a/labx-13/pom.xml b/labx-13/pom.xml
index 6a2d75ee..3991fe0d 100644
--- a/labx-13/pom.xml
+++ b/labx-13/pom.xml
@@ -21,6 +21,7 @@
labx-13-sc-sleuth-db-mysql
labx-13-sc-sleuth-db-redis
+ labx-13-sc-sleuth-db-mongodb