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
- }
-}