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