From 0085f6bfc54b705b5f0c56d4799fcbc3ca5102bc Mon Sep 17 00:00:00 2001 From: xxq250 Date: Tue, 27 Aug 2024 16:31:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=85=A5=E5=88=B0nacos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/pom.xml | 6 ++-- .../notification/common/utils/RedisUtil.java | 4 ++- executor/pom.xml | 30 ++++++++++++++++ .../executor/ExecutorApplication.java | 2 ++ .../main/resources/application.yml.example | 18 +++++++++- middleware/.env.example | 1 + middleware/services.yml | 6 ++++ model/pom.xml | 11 +++--- .../model/config/MyBatisPlusConfig.java | 25 +++++++++++--- pom.xml | 34 ++++++++----------- reader/pom.xml | 31 +++++++++++++++++ .../reader/ReaderApiApplication.java | 2 ++ .../reader/config/SwaggerConfig.java | 4 +-- .../main/resources/application.yml.example | 16 +++++++-- writer/pom.xml | 29 ++++++++++++++++ .../notification/WriterApiApplication.java | 2 ++ .../main/resources/application.yml.example | 15 +++++++- 17 files changed, 200 insertions(+), 36 deletions(-) diff --git a/common/pom.xml b/common/pom.xml index f97fd06..674a952 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -31,7 +31,7 @@ org.springframework.boot spring-boot-starter-data-redis - 2.3.4.RELEASE + ${springboot.version} com.alibaba @@ -55,7 +55,7 @@ org.springframework.kafka spring-kafka - 2.7.6 + 2.8.11 org.springframework @@ -75,6 +75,8 @@ 9.0.38 compile + + \ No newline at end of file diff --git a/common/src/main/java/cn/org/gitlink/notification/common/utils/RedisUtil.java b/common/src/main/java/cn/org/gitlink/notification/common/utils/RedisUtil.java index 8a53fb5..c33dc14 100644 --- a/common/src/main/java/cn/org/gitlink/notification/common/utils/RedisUtil.java +++ b/common/src/main/java/cn/org/gitlink/notification/common/utils/RedisUtil.java @@ -1,5 +1,7 @@ package cn.org.gitlink.notification.common.utils; +import java.util.Collection; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; @@ -96,7 +98,7 @@ public class RedisUtil { if (key.length == 1) { redisTemplate.delete(key[0]); } else { - redisTemplate.delete(CollectionUtils.arrayToList(key)); + redisTemplate.delete((Collection) CollectionUtils.arrayToList(key)); } } } diff --git a/executor/pom.xml b/executor/pom.xml index e8953c0..8b8679b 100644 --- a/executor/pom.xml +++ b/executor/pom.xml @@ -34,6 +34,35 @@ compile + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + ${spring-cloud-alibaba.version} + + + org.springframework.boot + spring-boot-starter-data-redis + ${springboot.version} + + + + + io.springfox + springfox-swagger2 + ${swagger.fox.version} + + + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j-spring-boot-starter.version} + + + javax.validation + validation-api + 2.0.1.Final + + @@ -41,6 +70,7 @@ org.springframework.boot spring-boot-maven-plugin + ${spring-boot.version} diff --git a/executor/src/main/java/cn/org/gitlink/notification/executor/ExecutorApplication.java b/executor/src/main/java/cn/org/gitlink/notification/executor/ExecutorApplication.java index f4686c5..155c0f7 100644 --- a/executor/src/main/java/cn/org/gitlink/notification/executor/ExecutorApplication.java +++ b/executor/src/main/java/cn/org/gitlink/notification/executor/ExecutorApplication.java @@ -2,12 +2,14 @@ package cn.org.gitlink.notification.executor; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.ComponentScan; import org.springframework.transaction.annotation.EnableTransactionManagement; @ComponentScan("cn.org.gitlink.notification.*") @SpringBootApplication @EnableTransactionManagement +@EnableDiscoveryClient public class ExecutorApplication { public static void main(String[] args) { SpringApplication.run(ExecutorApplication.class, args);} diff --git a/executor/src/main/resources/application.yml.example b/executor/src/main/resources/application.yml.example index 1a4d3df..091a41c 100644 --- a/executor/src/main/resources/application.yml.example +++ b/executor/src/main/resources/application.yml.example @@ -5,6 +5,22 @@ logging: config: classpath:logback.xml spring: + application: + # 应用名称 + name: microservices-gns-executor + mvc: + pathmatch: + matching-strategy: ant_path_matcher + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: nacos:8848 +# username: nacos +# password: nacos kafka: producer: bootstrap_servers: kafka1:9092,kafka2:9092 @@ -44,7 +60,7 @@ spring: timeout: 1000 datasource: - driver-class-name: com.mysql.jdbc.Driver + driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://mysql:3306/gitlink_notification?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8&allowMultiQueries=true&useSSL=false username: gitlink password: giTlinK0^827 diff --git a/middleware/.env.example b/middleware/.env.example index 32d6fca..60c734a 100644 --- a/middleware/.env.example +++ b/middleware/.env.example @@ -17,6 +17,7 @@ KAFKA_CONTAINER_02_NAME=gitlink_kafka_02 GNS_EXECUTOR_CONTAINER_NAME=gns_executor GNS_READER_CONTAINER_NAME=gns_reader GNS_WRITER_CONTAINER_NAME=gns_writer +NACOS_CONTAINER_NAME=nacos-test #============================================ Ports config ============================================ diff --git a/middleware/services.yml b/middleware/services.yml index ab6c06b..0addcea 100644 --- a/middleware/services.yml +++ b/middleware/services.yml @@ -121,6 +121,8 @@ services: - kafka2 - redis - mysql + external_links: + - ${NACOS_CONTAINER_NAME}:nacos ports: - ${GNS_READER_LOCAL_PORT}:8081 restart: always @@ -143,6 +145,8 @@ services: - kafka2 - redis - mysql + external_links: + - ${NACOS_CONTAINER_NAME}:nacos ports: - ${GNS_WRITER_LOCAL_PORT}:8082 restart: always @@ -165,6 +169,8 @@ services: - kafka2 - redis - mysql + external_links: + - ${NACOS_CONTAINER_NAME}:nacos ports: - ${GNS_EXECUTOR_LOCAL_PORT}:8083 restart: always diff --git a/model/pom.xml b/model/pom.xml index a944f8f..f87cb92 100644 --- a/model/pom.xml +++ b/model/pom.xml @@ -20,6 +20,7 @@ org.springframework.boot spring-boot-maven-plugin + ${spring-boot.version} true @@ -35,24 +36,26 @@ compile + com.baomidou mybatis-plus-boot-starter - 3.4.0 + 3.5.5 + com.baomidou mybatis-plus - 3.4.0 + 3.5.5 mysql mysql-connector-java - 5.1.38 + 8.0.31 org.springframework.boot @@ -75,7 +78,7 @@ org.springframework.boot spring-boot-starter-test - 2.3.4.RELEASE + ${springboot.version} test diff --git a/model/src/main/java/cn/org/gitlink/notification/model/config/MyBatisPlusConfig.java b/model/src/main/java/cn/org/gitlink/notification/model/config/MyBatisPlusConfig.java index 13d747c..c154375 100644 --- a/model/src/main/java/cn/org/gitlink/notification/model/config/MyBatisPlusConfig.java +++ b/model/src/main/java/cn/org/gitlink/notification/model/config/MyBatisPlusConfig.java @@ -1,8 +1,10 @@ package cn.org.gitlink.notification.model.config; import cn.org.gitlink.notification.model.handler.MetaHandler; +import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.core.config.GlobalConfig; -import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -13,13 +15,28 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; @MapperScan("cn.org.gitlink.notification.model.dao") public class MyBatisPlusConfig { +// /** +// * 分页插件 +// */ +// @Bean +// public PaginationInnerInterceptor paginationInterceptor() { +// PaginationInnerInterceptor paginationInterceptor = new PaginationInnerInterceptor(); +// return paginationInterceptor; +// } + /** * 分页插件 */ @Bean - public PaginationInterceptor paginationInterceptor() { - PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); - return paginationInterceptor; + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + PaginationInnerInterceptor paginationInterceptor = new PaginationInnerInterceptor(DbType.MYSQL); + // 配置分页参数 + paginationInterceptor.setMaxLimit(500L); + // 设置分页参数的封装方式,默认为false,即不封装分页参数 + paginationInterceptor.setOverflow(false); + interceptor.addInnerInterceptor(paginationInterceptor); + return interceptor; } /** diff --git a/pom.xml b/pom.xml index 93972bd..5f92744 100644 --- a/pom.xml +++ b/pom.xml @@ -26,30 +26,26 @@ true UTF-8 UTF-8 - 2.3.4.RELEASE + + 2.7.7 + 2.7.7 + 2021.0.5 + 2021.0.4.0 + 3.0.0 + 3.0.3 + 3.0.3 + + io.springfox + springfox-swagger-ui + ${swagger.fox.version} + io.springfox springfox-swagger2 - 2.9.2 - - - - com.github.xiaoymin - swagger-bootstrap-ui - 1.9.6 - - - com.github.xiaoymin - knife4j-discovery-spring-boot-starter - 1.0 - - - com.github.xiaoymin - knife4j-spring-boot-starter - 2.0.5 + ${swagger.fox.version} cn.hutool @@ -59,7 +55,7 @@ org.apache.commons commons-lang3 - 3.10 + 3.12.0 diff --git a/reader/pom.xml b/reader/pom.xml index 270b283..9186c5a 100644 --- a/reader/pom.xml +++ b/reader/pom.xml @@ -30,6 +30,36 @@ gns-model 1.0.0 + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + ${spring-cloud-alibaba.version} + + + org.springframework.boot + spring-boot-starter-data-redis + ${springboot.version} + + + + + io.springfox + springfox-swagger2 + ${swagger.fox.version} + + + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j-spring-boot-starter.version} + + + javax.validation + validation-api + 2.0.1.Final + + @@ -37,6 +67,7 @@ org.springframework.boot spring-boot-maven-plugin + ${spring-boot.version} diff --git a/reader/src/main/java/cn/org/gitlink/notification/reader/ReaderApiApplication.java b/reader/src/main/java/cn/org/gitlink/notification/reader/ReaderApiApplication.java index fb4710e..4c85752 100644 --- a/reader/src/main/java/cn/org/gitlink/notification/reader/ReaderApiApplication.java +++ b/reader/src/main/java/cn/org/gitlink/notification/reader/ReaderApiApplication.java @@ -2,12 +2,14 @@ package cn.org.gitlink.notification.reader; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.ComponentScan; import org.springframework.transaction.annotation.EnableTransactionManagement; @ComponentScan("cn.org.gitlink.notification.*") @SpringBootApplication @EnableTransactionManagement +@EnableDiscoveryClient public class ReaderApiApplication { public static void main(String[] args) { SpringApplication.run(ReaderApiApplication.class, args); diff --git a/reader/src/main/java/cn/org/gitlink/notification/reader/config/SwaggerConfig.java b/reader/src/main/java/cn/org/gitlink/notification/reader/config/SwaggerConfig.java index 2ec6f20..71f3993 100644 --- a/reader/src/main/java/cn/org/gitlink/notification/reader/config/SwaggerConfig.java +++ b/reader/src/main/java/cn/org/gitlink/notification/reader/config/SwaggerConfig.java @@ -3,8 +3,7 @@ package cn.org.gitlink.notification.reader.config; import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; @@ -15,6 +14,7 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2 +@EnableWebMvc @EnableKnife4j public class SwaggerConfig { @Bean diff --git a/reader/src/main/resources/application.yml.example b/reader/src/main/resources/application.yml.example index 89cfd92..6fcc1dd 100644 --- a/reader/src/main/resources/application.yml.example +++ b/reader/src/main/resources/application.yml.example @@ -5,7 +5,19 @@ logging: config: classpath:logback.xml spring: - + application: + # 应用名称 + name: microservices-gns-reader + mvc: + pathmatch: + matching-strategy: ant_path_matcher + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: nacos:8848 +# username: nacos +# password: nacos redis: database: 0 host: redis @@ -19,7 +31,7 @@ spring: timeout: 1000 datasource: - driver-class-name: com.mysql.jdbc.Driver + driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://mysql:3306/gitlink_notification?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8&allowMultiQueries=true&useSSL=false username: gitlink password: giTlinK0^827 diff --git a/writer/pom.xml b/writer/pom.xml index f2da6fe..05c5b5b 100644 --- a/writer/pom.xml +++ b/writer/pom.xml @@ -32,6 +32,34 @@ 1.0.0 compile + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + ${spring-cloud-alibaba.version} + + + org.springframework.boot + spring-boot-starter-data-redis + ${springboot.version} + + + + + io.springfox + springfox-swagger2 + ${swagger.fox.version} + + + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j-spring-boot-starter.version} + + + javax.validation + validation-api + 2.0.1.Final + @@ -39,6 +67,7 @@ org.springframework.boot spring-boot-maven-plugin + ${spring-boot.version} diff --git a/writer/src/main/java/cn/org/gitlink/notification/WriterApiApplication.java b/writer/src/main/java/cn/org/gitlink/notification/WriterApiApplication.java index efd76e1..4d11bdc 100644 --- a/writer/src/main/java/cn/org/gitlink/notification/WriterApiApplication.java +++ b/writer/src/main/java/cn/org/gitlink/notification/WriterApiApplication.java @@ -2,12 +2,14 @@ package cn.org.gitlink.notification; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.ComponentScan; import org.springframework.transaction.annotation.EnableTransactionManagement; @ComponentScan("cn.org.gitlink.notification.*") @SpringBootApplication @EnableTransactionManagement +@EnableDiscoveryClient public class WriterApiApplication { public static void main(String[] args) { SpringApplication.run(WriterApiApplication.class, args); diff --git a/writer/src/main/resources/application.yml.example b/writer/src/main/resources/application.yml.example index 124c9ea..7ed6306 100644 --- a/writer/src/main/resources/application.yml.example +++ b/writer/src/main/resources/application.yml.example @@ -5,6 +5,19 @@ logging: config: classpath:logback.xml spring: + application: + # 应用名称 + name: microservices-gns-writer + mvc: + pathmatch: + matching-strategy: ant_path_matcher + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: nacos:8848 +# username: nacos +# password: nacos kafka: producer: bootstrap_servers: kafka1:9092,kafka2:9092 @@ -30,7 +43,7 @@ spring: timeout: 1000 datasource: - driver-class-name: com.mysql.jdbc.Driver + driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://mysql:3306/gitlink_notification?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8&allowMultiQueries=true&useSSL=false username: gitlink password: giTlinK0^827