将 product 模块接入 SCA Dubbo 和 Nacos Discovery 组件,同时将 Seata 修改成 SCA Seata 组件
							parent
							
								
									a248a4b3b4
								
							
						
					
					
						commit
						8aedbbc5b4
					
				|  | @ -17,5 +17,16 @@ | |||
|         <module>product-service-impl</module> | ||||
|     </modules> | ||||
| 
 | ||||
|     <dependencyManagement> | ||||
|         <dependencies> | ||||
|             <dependency> | ||||
|                 <groupId>cn.iocoder.mall</groupId> | ||||
|                 <artifactId>common-dependencies</artifactId> | ||||
|                 <version>1.0-SNAPSHOT</version> | ||||
|                 <type>pom</type> | ||||
|                 <scope>import</scope> | ||||
|             </dependency> | ||||
|         </dependencies> | ||||
|     </dependencyManagement> | ||||
| 
 | ||||
| </project> | ||||
| </project> | ||||
|  |  | |||
|  | @ -44,23 +44,22 @@ | |||
|             <artifactId>mybatis-plus-boot-starter</artifactId> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>io.seata</groupId> | ||||
|             <artifactId>seata-spring</artifactId> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>io.seata</groupId> | ||||
|             <artifactId>seata-dubbo</artifactId> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <!-- RPC 相关 --> | ||||
|         <dependency> | ||||
|             <groupId>org.apache.dubbo</groupId> | ||||
|             <artifactId>dubbo</artifactId> | ||||
|             <groupId>com.alibaba.cloud</groupId> | ||||
|             <artifactId>spring-cloud-starter-dubbo</artifactId> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <!-- Registry 和 Config 相关 --> | ||||
|         <dependency> | ||||
|             <groupId>org.apache.dubbo</groupId> | ||||
|             <artifactId>dubbo-spring-boot-starter</artifactId> | ||||
|             <groupId>com.alibaba.cloud</groupId> | ||||
|             <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <!-- Transaction 相关 --> | ||||
|         <dependency> | ||||
|             <groupId>com.alibaba.cloud</groupId> | ||||
|             <artifactId>spring-cloud-alibaba-seata</artifactId> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <!-- MQ 相关 --> | ||||
|  | @ -69,16 +68,6 @@ | |||
|             <artifactId>rocketmq-spring-boot-starter</artifactId> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <!-- Registry 和 Config 相关 --> | ||||
|         <dependency> | ||||
|             <groupId>org.apache.curator</groupId> | ||||
|             <artifactId>curator-framework</artifactId> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.apache.curator</groupId> | ||||
|             <artifactId>curator-recipes</artifactId> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <!-- 工具类相关 --> | ||||
|         <dependency> | ||||
|             <groupId>com.google.guava</groupId> | ||||
|  |  | |||
|  | @ -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); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -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 | ||||
|  | @ -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 分组 | ||||
|  |  | |||
|  | @ -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 = "" | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  | @ -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 | ||||
|   } | ||||
| } | ||||
|  | @ -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: | ||||
|  |  | |||
|  | @ -20,8 +20,6 @@ mybatis-plus: | |||
| 
 | ||||
| # dubbo | ||||
| dubbo: | ||||
|   application: | ||||
|     name: user-service | ||||
|   registry: | ||||
|     address: zookeeper://127.0.0.1:2181 | ||||
|   protocol: | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 YunaiV
						YunaiV