将 promotion 模块接入 SCA Dubbo 和 Nacos Discovery 组件,同时将 Seata 修改成 SCA Seata 组件
							parent
							
								
									ac2ee0a1e9
								
							
						
					
					
						commit
						4a2870e8e5
					
				|  | @ -17,4 +17,16 @@ | |||
|         <module>promotion-application</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> | ||||
|  |  | |||
|  | @ -54,33 +54,16 @@ | |||
|             <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> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.apache.dubbo</groupId> | ||||
|             <artifactId>dubbo-spring-boot-starter</artifactId> | ||||
|             <groupId>com.alibaba.cloud</groupId> | ||||
|             <artifactId>spring-cloud-starter-dubbo</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> | ||||
|             <groupId>com.alibaba.cloud</groupId> | ||||
|             <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <!-- MQ 相关 --> | ||||
|  |  | |||
|  | @ -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 后续要编辑下
 | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -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} | ||||
|  | @ -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: | ||||
|  |  | |||
|  | @ -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 | ||||
|   } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	 YunaiV
						YunaiV