parent
							
								
									f77e577955
								
							
						
					
					
						commit
						21e5fb954a
					
				| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					swagger:
 | 
				
			||||||
 | 
					  enable: true
 | 
				
			||||||
 | 
					  title: 订单子系统
 | 
				
			||||||
 | 
					  description: 订单子系统
 | 
				
			||||||
 | 
					  version: 1.0.0
 | 
				
			||||||
 | 
					  base-package: cn.iocoder.mall.pay.application.controller
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,4 @@ server:
 | 
				
			||||||
    context-path: /order-api/
 | 
					    context-path: /order-api/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
swagger:
 | 
					swagger:
 | 
				
			||||||
  title: 订单子系统
 | 
					  enable: false
 | 
				
			||||||
  description: 订单子系统
 | 
					 | 
				
			||||||
  version: 1.0.0
 | 
					 | 
				
			||||||
  base-package: cn.iocoder.mall.pay.application.controller
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,19 +0,0 @@
 | 
				
			||||||
<?xml version="1.0" encoding="UTF-8" ?>
 | 
					 | 
				
			||||||
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 | 
					 | 
				
			||||||
<configuration>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <settings>
 | 
					 | 
				
			||||||
        <!-- 使用驼峰命名法转换字段。 -->
 | 
					 | 
				
			||||||
        <setting name="mapUnderscoreToCamelCase" value="true"/>
 | 
					 | 
				
			||||||
    </settings>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <typeAliases>
 | 
					 | 
				
			||||||
        <typeAlias alias="Integer" type="java.lang.Integer"/>
 | 
					 | 
				
			||||||
        <typeAlias alias="Long" type="java.lang.Long"/>
 | 
					 | 
				
			||||||
        <typeAlias alias="HashMap" type="java.util.HashMap"/>
 | 
					 | 
				
			||||||
        <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap"/>
 | 
					 | 
				
			||||||
        <typeAlias alias="ArrayList" type="java.util.ArrayList"/>
 | 
					 | 
				
			||||||
        <typeAlias alias="LinkedList" type="java.util.LinkedList"/>
 | 
					 | 
				
			||||||
    </typeAliases>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</configuration>
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,15 +1,15 @@
 | 
				
			||||||
package cn.iocoder.mall.order.biz.config;
 | 
					package cn.iocoder.mall.order.biz.config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.alibaba.druid.pool.DruidDataSource;
 | 
					import com.alibaba.druid.pool.DruidDataSource;
 | 
				
			||||||
 | 
					import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
 | 
				
			||||||
import io.seata.rm.datasource.DataSourceProxy;
 | 
					import io.seata.rm.datasource.DataSourceProxy;
 | 
				
			||||||
import io.seata.spring.annotation.GlobalTransactionScanner;
 | 
					import io.seata.spring.annotation.GlobalTransactionScanner;
 | 
				
			||||||
import org.mybatis.spring.annotation.MapperScan;
 | 
					import org.mybatis.spring.annotation.MapperScan;
 | 
				
			||||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
					 | 
				
			||||||
import org.springframework.beans.factory.annotation.Value;
 | 
					import org.springframework.beans.factory.annotation.Value;
 | 
				
			||||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
 | 
					 | 
				
			||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
 | 
					import org.springframework.boot.context.properties.ConfigurationProperties;
 | 
				
			||||||
import org.springframework.context.annotation.Bean;
 | 
					import org.springframework.context.annotation.Bean;
 | 
				
			||||||
import org.springframework.context.annotation.Configuration;
 | 
					import org.springframework.context.annotation.Configuration;
 | 
				
			||||||
 | 
					import org.springframework.context.annotation.DependsOn;
 | 
				
			||||||
import org.springframework.context.annotation.Primary;
 | 
					import org.springframework.context.annotation.Primary;
 | 
				
			||||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
 | 
					import org.springframework.transaction.annotation.EnableTransactionManagement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,56 +20,29 @@ import javax.sql.DataSource;
 | 
				
			||||||
@EnableTransactionManagement(proxyTargetClass = true) // 启动事务管理。为什么使用 proxyTargetClass 参数,参见 https://blog.csdn.net/huang_550/article/details/76492600
 | 
					@EnableTransactionManagement(proxyTargetClass = true) // 启动事务管理。为什么使用 proxyTargetClass 参数,参见 https://blog.csdn.net/huang_550/article/details/76492600
 | 
				
			||||||
public class DatabaseConfiguration {
 | 
					public class DatabaseConfiguration {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // 数据源,使用 HikariCP
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Value("${spring.application.name}")
 | 
					    @Value("${spring.application.name}")
 | 
				
			||||||
    private String applicationId;
 | 
					    private String applicationId;
 | 
				
			||||||
 | 
					    @Value("${seata.tx-service-group}")
 | 
				
			||||||
 | 
					    private String txServiceGroup;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Autowired
 | 
					    @Bean("druidDataSource")
 | 
				
			||||||
    private DataSourceProperties dataSourceProperties;
 | 
					    @ConfigurationProperties("spring.datasource.druid")
 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Bean
 | 
					 | 
				
			||||||
//    @Primary
 | 
					 | 
				
			||||||
    public DruidDataSource druidDataSource(){
 | 
					    public DruidDataSource druidDataSource(){
 | 
				
			||||||
        DruidDataSource druidDataSource = new DruidDataSource();
 | 
					        return DruidDataSourceBuilder.create().build();
 | 
				
			||||||
        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;
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @ConfigurationProperties(prefix = "spring.datasource")
 | 
					    @ConfigurationProperties(prefix = "spring.datasource")
 | 
				
			||||||
    @Primary
 | 
					    @Primary
 | 
				
			||||||
    @Bean("dataSource")
 | 
					    @Bean("dataSource")
 | 
				
			||||||
//    @Bean
 | 
					    @DependsOn("druidDataSource") // 解决多数据源,循环依赖的问题。主要发生点在 DataSourceInitializerInvoker
 | 
				
			||||||
    public DataSource dataSource(DruidDataSource dataSource) {
 | 
					    public DataSource dataSource() {
 | 
				
			||||||
        return new DataSourceProxy(dataSource);
 | 
					        DruidDataSource druidDataSource = druidDataSource();
 | 
				
			||||||
 | 
					        return new DataSourceProxy(druidDataSource);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * 注册一个StatViewServlet
 | 
					 | 
				
			||||||
     *
 | 
					 | 
				
			||||||
     * @return global transaction scanner
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    @Bean
 | 
					    @Bean
 | 
				
			||||||
    public GlobalTransactionScanner globalTransactionScanner() {
 | 
					    public GlobalTransactionScanner globalTransactionScanner() {
 | 
				
			||||||
        return new GlobalTransactionScanner(applicationId, "my_test_tx_group");
 | 
					        return new GlobalTransactionScanner(applicationId, txServiceGroup);
 | 
				
			||||||
        // TODO 芋艿,txServiceGroup 后续要编辑下
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,9 +0,0 @@
 | 
				
			||||||
package cn.iocoder.mall.order.biz.config;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import org.springframework.context.annotation.Configuration;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@Configuration
 | 
					 | 
				
			||||||
public class SeataConfiguration {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -59,3 +59,7 @@ logging:
 | 
				
			||||||
  level:
 | 
					  level:
 | 
				
			||||||
    # dao 开启 debug 模式 mybatis 输入 sql
 | 
					    # dao 开启 debug 模式 mybatis 输入 sql
 | 
				
			||||||
    cn.iocoder.mall.order.biz.dao: debug
 | 
					    cn.iocoder.mall.order.biz.dao: debug
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# seata
 | 
				
			||||||
 | 
					seata:
 | 
				
			||||||
 | 
					  tx-service-group: my_test_tx_group
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,69 @@
 | 
				
			||||||
 | 
					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 = ""
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					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