diff --git a/product/pom.xml b/product/pom.xml
index f7ded7cbf..0e0fb4fa6 100644
--- a/product/pom.xml
+++ b/product/pom.xml
@@ -17,5 +17,16 @@
product-service-impl
+
+
+
+ cn.iocoder.mall
+ common-dependencies
+ 1.0-SNAPSHOT
+ pom
+ import
+
+
+
-
\ No newline at end of file
+
diff --git a/product/product-service-impl/pom.xml b/product/product-service-impl/pom.xml
index 961cd349f..8eba77bdb 100644
--- a/product/product-service-impl/pom.xml
+++ b/product/product-service-impl/pom.xml
@@ -44,23 +44,22 @@
mybatis-plus-boot-starter
-
- io.seata
- seata-spring
-
-
- io.seata
- seata-dubbo
-
-
- org.apache.dubbo
- dubbo
+ com.alibaba.cloud
+ spring-cloud-starter-dubbo
+
+
- org.apache.dubbo
- dubbo-spring-boot-starter
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-alibaba-seata
@@ -69,16 +68,6 @@
rocketmq-spring-boot-starter
-
-
- org.apache.curator
- curator-framework
-
-
- org.apache.curator
- curator-recipes
-
-
com.google.guava
diff --git a/product/product-service-impl/src/main/java/cn/iocoder/mall/product/config/DatabaseConfiguration.java b/product/product-service-impl/src/main/java/cn/iocoder/mall/product/config/DatabaseConfiguration.java
index 1532adc63..230e57a10 100644
--- a/product/product-service-impl/src/main/java/cn/iocoder/mall/product/config/DatabaseConfiguration.java
+++ b/product/product-service-impl/src/main/java/cn/iocoder/mall/product/config/DatabaseConfiguration.java
@@ -1,48 +1,12 @@
package cn.iocoder.mall.product.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.product.dao") // 扫描对应的 Mapper 接口
@EnableTransactionManagement(proxyTargetClass = true) // 启动事务管理。为什么使用 proxyTargetClass 参数,参见 https://blog.csdn.net/huang_550/article/details/76492600
public class DatabaseConfiguration {
- @Value("${spring.application.name}")
- private String applicationId;
- @Value("${seata.tx-service-group}")
- private String txServiceGroup;
-
- @Bean("druidDataSource")
- @ConfigurationProperties("spring.datasource.druid")
- public DruidDataSource druidDataSource(){
- return DruidDataSourceBuilder.create().build();
- }
-
- @ConfigurationProperties(prefix = "spring.datasource")
- @Primary
- @Bean("dataSource")
- @DependsOn("druidDataSource") // 解决多数据源,循环依赖的问题。主要发生点在 DataSourceInitializerInvoker
- public DataSource dataSource() {
- DruidDataSource druidDataSource = druidDataSource();
- return new DataSourceProxy(druidDataSource);
- }
-
- @Bean
- public GlobalTransactionScanner globalTransactionScanner() {
- return new GlobalTransactionScanner(applicationId, txServiceGroup);
- }
-
}
diff --git a/product/product-service-impl/src/main/resources/config/application-test.yaml b/product/product-service-impl/src/main/resources/config/application-test.yaml
deleted file mode 100644
index d5d5c6689..000000000
--- a/product/product-service-impl/src/main/resources/config/application-test.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-spring:
- # datasource
- datasource:
- url: jdbc:mysql://192.168.88.14:3306/mall_product?useSSL=false&useUnicode=true&characterEncoding=UTF-8
- driver-class-name: com.mysql.jdbc.Driver
- username: root
- password: ${MALL_MYSQL_PASSWORD}
-
-# rocketmq
-rocketmq:
- name-server: 192.168.88.14:9876
- producer:
- group: product-producer-group
diff --git a/product/product-service-impl/src/main/resources/config/application.yaml b/product/product-service-impl/src/main/resources/config/application.yaml
index 33e49f0f5..0b9ae2a58 100644
--- a/product/product-service-impl/src/main/resources/config/application.yaml
+++ b/product/product-service-impl/src/main/resources/config/application.yaml
@@ -6,23 +6,35 @@ spring:
username: root
password: ${MALL_MYSQL_PASSWORD}
+ # Spring Cloud 配置项
+ cloud:
+ nacos:
+ # Spring Cloud Nacos Discovery 配置项
+ discovery:
+ server-addr: 127.0.0.1:8848 # Nacos 服务器地址
+
# mybatis
mybatis-plus:
config-location: classpath:mybatis-config.xml
mapper-locations: classpath:mapper/*.xml
type-aliases-package: cn.iocoder.mall.product.dataobject
-# dubbo
+# Dubbo 配置项
dubbo:
- application:
- name: product-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' # 设置订阅的应用列表,默认为 * 订阅所有应用
+ # Dubbo 提供者的协议
protocol:
- port: -1
name: dubbo
+ port: -1
+ # Dubbo 提供服务的扫描基础包
scan:
base-packages: cn.iocoder.mall.product.service
+ # Dubbo 服务提供者的配置
provider:
filter: -exception
ProductAttrService:
@@ -44,6 +56,12 @@ rocketmq:
producer:
group: product-producer-group
-# seata
+# Seata 配置项
seata:
- tx-service-group: my_test_tx_group
+ # Seata 注册中心配置项
+ registry:
+ type: nacos # 注册中心类型
+ nacos:
+ serverAddr: 127.0.0.1:8848 # Nacos 服务地址
+ namespace: # Nacos 命名空间
+ cluster: default # 使用的 Seata 分组
diff --git a/product/product-service-impl/src/main/resources/file.conf b/product/product-service-impl/src/main/resources/file.conf
deleted file mode 100644
index 8b60b29c3..000000000
--- a/product/product-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/product/product-service-impl/src/main/resources/registry.conf b/product/product-service-impl/src/main/resources/registry.conf
deleted file mode 100644
index f73989514..000000000
--- a/product/product-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
- }
-}
diff --git a/system/system-service-impl/src/main/resources/config/application.yaml b/system/system-service-impl/src/main/resources/config/application.yaml
index 5c8232b1f..7f4577872 100644
--- a/system/system-service-impl/src/main/resources/config/application.yaml
+++ b/system/system-service-impl/src/main/resources/config/application.yaml
@@ -5,9 +5,11 @@ spring:
driver-class-name: com.mysql.jdbc.Driver
username: root
password: ${MALL_MYSQL_PASSWORD}
+
+ # Spring Cloud 配置项
cloud:
- # Nacos 作为注册中心的配置项
nacos:
+ # Spring Cloud Nacos Discovery 配置项
discovery:
server-addr: 127.0.0.1:8848 # Nacos 服务器地址
@@ -31,21 +33,22 @@ sms:
accessKeyId:
accessSecret:
-# dubbo
+# Dubbo 配置项
dubbo:
- application:
- name: admin-service
- protocol:
- port: -1
- name: dubbo
- scan:
- base-packages: cn.iocoder.mall.admin.service
- # Dubbo 服务注册中心配置,对应 RegistryConfig 类
+ # Dubbo 注册中心
registry:
address: spring-cloud://127.0.0.1:8848 # 指定 Dubbo 服务注册中心的地址
- # Spring Cloud Alibaba Dubbo 专属配置项,对应 DubboCloudProperties 类
+ # Spring Cloud Alibaba Dubbo 专属配置
cloud:
- subscribed-services: '' # 设置订阅的应用列表,默认为 * 订阅所有应用。
+ subscribed-services: '' # 设置订阅的应用列表,默认为 * 订阅所有应用
+ # Dubbo 提供者的协议
+ protocol:
+ name: dubbo
+ port: -1
+ # Dubbo 提供服务的扫描基础包
+ scan:
+ base-packages: cn.iocoder.mall.admin.service
+ # Dubbo 服务提供者的配置
provider:
filter: -exception
AdminAccessLogService:
diff --git a/user/user-service-impl/src/main/resources/config/application.yaml b/user/user-service-impl/src/main/resources/config/application.yaml
index aa93e91a6..3131ab501 100644
--- a/user/user-service-impl/src/main/resources/config/application.yaml
+++ b/user/user-service-impl/src/main/resources/config/application.yaml
@@ -20,8 +20,6 @@ mybatis-plus:
# dubbo
dubbo:
- application:
- name: user-service
registry:
address: zookeeper://127.0.0.1:2181
protocol: