From 4a2870e8e50c1cf9ed6de5c65befd7a6cc8d23b5 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 12 Apr 2020 20:10:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=20promotion=20=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=8E=A5=E5=85=A5=20SCA=20Dubbo=20=E5=92=8C=20Nacos=20Discover?= =?UTF-8?q?y=20=E7=BB=84=E4=BB=B6=EF=BC=8C=E5=90=8C=E6=97=B6=E5=B0=86=20Se?= =?UTF-8?q?ata=20=E4=BF=AE=E6=94=B9=E6=88=90=20SCA=20Seata=20=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- promotion/pom.xml | 12 ++++ promotion/promotion-service-impl/pom.xml | 25 ++----- .../biz/config/DatabaseConfiguration.java | 68 ------------------ .../resources/config/application-test.yaml | 7 -- .../main/resources/config/application.yaml | 36 +++++++--- .../src/main/resources/file.conf | 69 ------------------- .../src/main/resources/registry.conf | 14 ---- 7 files changed, 42 insertions(+), 189 deletions(-) delete mode 100644 promotion/promotion-service-impl/src/main/resources/config/application-test.yaml delete mode 100644 promotion/promotion-service-impl/src/main/resources/file.conf delete mode 100644 promotion/promotion-service-impl/src/main/resources/registry.conf diff --git a/promotion/pom.xml b/promotion/pom.xml index b8e526ca6..a70375300 100644 --- a/promotion/pom.xml +++ b/promotion/pom.xml @@ -17,4 +17,16 @@ promotion-application + + + + cn.iocoder.mall + common-dependencies + 1.0-SNAPSHOT + pom + import + + + + diff --git a/promotion/promotion-service-impl/pom.xml b/promotion/promotion-service-impl/pom.xml index 1ce26638e..ae030dfb1 100644 --- a/promotion/promotion-service-impl/pom.xml +++ b/promotion/promotion-service-impl/pom.xml @@ -54,33 +54,16 @@ mybatis-plus-boot-starter - - io.seata - seata-spring - - - io.seata - seata-dubbo - - - org.apache.dubbo - dubbo - - - org.apache.dubbo - dubbo-spring-boot-starter + com.alibaba.cloud + spring-cloud-starter-dubbo - org.apache.curator - curator-framework - - - org.apache.curator - curator-recipes + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery diff --git a/promotion/promotion-service-impl/src/main/java/cn/iocoder/mall/promotion/biz/config/DatabaseConfiguration.java b/promotion/promotion-service-impl/src/main/java/cn/iocoder/mall/promotion/biz/config/DatabaseConfiguration.java index 8c682c6d0..04b70216d 100644 --- a/promotion/promotion-service-impl/src/main/java/cn/iocoder/mall/promotion/biz/config/DatabaseConfiguration.java +++ b/promotion/promotion-service-impl/src/main/java/cn/iocoder/mall/promotion/biz/config/DatabaseConfiguration.java @@ -1,20 +1,9 @@ package cn.iocoder.mall.promotion.biz.config; -import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; -import io.seata.rm.datasource.DataSourceProxy; -import io.seata.spring.annotation.GlobalTransactionScanner; import org.mybatis.spring.annotation.MapperScan; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.DependsOn; -import org.springframework.context.annotation.Primary; import org.springframework.transaction.annotation.EnableTransactionManagement; -import javax.sql.DataSource; - @Configuration @MapperScan("cn.iocoder.mall.promotion.biz.dao") // 扫描对应的 Mapper 接口 @EnableTransactionManagement(proxyTargetClass = true) // 启动事务管理。为什么使用 proxyTargetClass 参数,参见 https://blog.csdn.net/huang_550/article/details/76492600 @@ -23,61 +12,4 @@ public class DatabaseConfiguration { // 数据源,使用 HikariCP - @Value("${spring.application.name}") - private String applicationId; - -// @Autowired -// private DataSourceProperties dataSourceProperties; -// -//// @Bean // TODO 芋艿,加了就一直报错,后面在找原因。 -// @Primary -// public DruidDataSource druidDataSource(){ -// DruidDataSource druidDataSource = new DruidDataSource(); -// druidDataSource.setUrl(dataSourceProperties.getUrl()); -// druidDataSource.setUsername(dataSourceProperties.getUsername()); -// druidDataSource.setPassword(dataSourceProperties.getPassword()); -// druidDataSource.setDriverClassName(dataSourceProperties.getDriverClassName()); -// druidDataSource.setInitialSize(0); -// druidDataSource.setMaxActive(180); -// druidDataSource.setMaxWait(60000); -// druidDataSource.setMinIdle(0); -// druidDataSource.setValidationQuery("Select 1 from DUAL"); -// druidDataSource.setTestOnBorrow(false); -// druidDataSource.setTestOnReturn(false); -// druidDataSource.setTestWhileIdle(true); -// druidDataSource.setTimeBetweenEvictionRunsMillis(60000); -// druidDataSource.setMinEvictableIdleTimeMillis(25200000); -// druidDataSource.setRemoveAbandoned(true); -// druidDataSource.setRemoveAbandonedTimeout(1800); -// druidDataSource.setLogAbandoned(true); -// return druidDataSource; -// } - - @Bean("druidDataSource") - @ConfigurationProperties("spring.datasource.druid") - public DruidDataSource druidDataSource(){ - return DruidDataSourceBuilder.create().build(); - } - - @ConfigurationProperties(prefix = "spring.datasource") - @Primary - @Bean("dataSource") -// @Bean - @DependsOn("druidDataSource") // 解决多数据源,循环依赖的问题。主要发生点在 DataSourceInitializerInvoker - public DataSource dataSource() { - DruidDataSource druidDataSource = druidDataSource(); - return new DataSourceProxy(druidDataSource); - } - - /** - * 注册一个StatViewServlet - * - * @return global transaction scanner - */ - @Bean - public GlobalTransactionScanner globalTransactionScanner() { - return new GlobalTransactionScanner(applicationId, "my_test_tx_group"); - // TODO 芋艿,txServiceGroup 后续要编辑下 - } - } diff --git a/promotion/promotion-service-impl/src/main/resources/config/application-test.yaml b/promotion/promotion-service-impl/src/main/resources/config/application-test.yaml deleted file mode 100644 index 2abf34582..000000000 --- a/promotion/promotion-service-impl/src/main/resources/config/application-test.yaml +++ /dev/null @@ -1,7 +0,0 @@ -spring: - # datasource - datasource: - url: jdbc:mysql://192.168.88.14:3306/mall_promotion?useSSL=false&useUnicode=true&characterEncoding=UTF-8 - driver-class-name: com.mysql.jdbc.Driver - username: root - password: ${MALL_MYSQL_PASSWORD} diff --git a/promotion/promotion-service-impl/src/main/resources/config/application.yaml b/promotion/promotion-service-impl/src/main/resources/config/application.yaml index 396478d09..8c92aaed9 100644 --- a/promotion/promotion-service-impl/src/main/resources/config/application.yaml +++ b/promotion/promotion-service-impl/src/main/resources/config/application.yaml @@ -6,11 +6,13 @@ spring: driver-class-name: com.mysql.jdbc.Driver username: root password: ${MALL_MYSQL_PASSWORD} - # TODO 芋艿, 后续优化下 druid 参数 - druid: - initial-size: 5 - max-active: 5 - max-wait: 10000 + + # Spring Cloud 配置项 + cloud: + nacos: + # Spring Cloud Nacos Discovery 配置项 + discovery: + server-addr: 127.0.0.1:8848 # Nacos 服务器地址 # mybatis-plus mybatis-plus: @@ -22,20 +24,25 @@ mybatis-plus: mapper-locations: classpath*:mapper/*.xml type-aliases-package: cn.iocoder.mall.promotion.biz.dataobject -# dubbo +# Dubbo 配置项 dubbo: - application: - name: promotion-service + # Dubbo 注册中心 registry: - address: zookeeper://127.0.0.1:2181 + address: spring-cloud://127.0.0.1:8848 # 指定 Dubbo 服务注册中心的地址 + # Spring Cloud Alibaba Dubbo 专属配置 + cloud: + subscribed-services: admin-application, product-application # 设置订阅的应用列表,默认为 * 订阅所有应用 + # Dubbo 提供者的协议 protocol: - port: -1 name: dubbo + port: -1 + # Dubbo 提供服务的扫描基础包 scan: base-packages: cn.iocoder.mall.promotion.biz.service consumer: ProductSpuService: version: 1.0.0 + # Dubbo 服务提供者的配置 provider: filter: -exception BannerService: @@ -47,6 +54,15 @@ dubbo: PromotionActivityService: version: 1.0.0 +# Seata 配置项 +seata: + # Seata 注册中心配置项 + registry: + type: nacos # 注册中心类型 + nacos: + serverAddr: ${spring.cloud.nacos.discovery.server-addr} # Nacos 服务地址 + namespace: # Nacos 命名空间 + cluster: default # 使用的 Seata 分组 # logging logging: diff --git a/promotion/promotion-service-impl/src/main/resources/file.conf b/promotion/promotion-service-impl/src/main/resources/file.conf deleted file mode 100644 index 8b60b29c3..000000000 --- a/promotion/promotion-service-impl/src/main/resources/file.conf +++ /dev/null @@ -1,69 +0,0 @@ -transport { - # tcp udt unix-domain-socket - type = "TCP" - #NIO NATIVE - server = "NIO" - #enable heartbeat - heartbeat = true - #thread factory for netty - thread-factory { - boss-thread-prefix = "NettyBoss" - worker-thread-prefix = "NettyServerNIOWorker" - server-executor-thread-prefix = "NettyServerBizHandler" - share-boss-worker = false - client-selector-thread-prefix = "NettyClientSelector" - client-selector-thread-size = 1 - client-worker-thread-prefix = "NettyClientWorkerThread" - # netty boss thread size,will not be used for UDT - boss-thread-size = 1 - #auto default pin or 8 - worker-thread-size = 8 - } -} - -service { - #vgroup->rgroup - vgroup_mapping.my_test_tx_group = "default" - #only support single node - default.grouplist = "180.167.213.26:8091" - #degrade current not support - enableDegrade = false - #disable - disable = false -} - -client { - async.commit.buffer.limit = 10000 - lock { - retry.internal = 10 - retry.times = 30 - } -} -## transaction log store -store { - ## store mode: file、db - mode = "file" - - ## file store - file { - dir = "file_store/data" - - # branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions - max-branch-session-size = 16384 - # globe session size , if exceeded throws exceptions - max-global-session-size = 512 - # file buffer size , if exceeded allocate new buffer - file-write-buffer-cache-size = 16384 - # when recover batch read size - session.reload.read_size = 100 - } - - ## database store - db { - driver_class = "" - url = "" - user = "" - password = "" - } -} - diff --git a/promotion/promotion-service-impl/src/main/resources/registry.conf b/promotion/promotion-service-impl/src/main/resources/registry.conf deleted file mode 100644 index f73989514..000000000 --- a/promotion/promotion-service-impl/src/main/resources/registry.conf +++ /dev/null @@ -1,14 +0,0 @@ -registry { - type = "file" - - file { - name = "file.conf" - } - - zk { - cluster = "default" - serverAddr = "192.168.88.10:2181" - session.timeout = 6000 - connect.timeout = 2000 - } -}