将 promotion 模块接入 SCA Dubbo 和 Nacos Discovery 组件,同时将 Seata 修改成 SCA Seata 组件
This commit is contained in:
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
Block a user