From 1f5c08df34fb6ed4e4c5bc633bfc766c5759987a Mon Sep 17 00:00:00 2001 From: qyx <565485304@qq.com> Date: Mon, 29 Nov 2021 19:32:40 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD](master):?= =?UTF-8?q?=20JPA=E5=A4=9A=E6=95=B0=E6=8D=AE=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dev-protocol-shardingtask 目前支持了JPA的多数据源方案1 待补充:JPA的多数据源2 及 ShardingJDBC的多数据源 --- README.md | 2 + .../baiye/controller/NotebookController.java | 2 +- .../com/baiye/{ => dao}/entity/Notebook.java | 2 +- .../baiye/repository/NotebookRepository.java | 2 +- dev-protocol-shardingtask/README.md | 10 ++ dev-protocol-shardingtask/db/init.sql | 20 ++++ dev-protocol-shardingtask/pom.xml | 65 +++++++++++++ .../DevProtocolsShardingTaskApplication.java | 39 ++++++++ .../configuration/DataSource1Config.java | 95 +++++++++++++++++++ .../configuration/DataSource2Config.java | 93 ++++++++++++++++++ .../com/baiye/controller/OrderController.java | 35 +++++++ .../main/java/com/baiye/dao/db1/Order.java | 42 ++++++++ .../com/baiye/dao/db1/OrderRepository.java | 14 +++ .../src/main/java/com/baiye/dao/db2/Sku.java | 42 ++++++++ .../java/com/baiye/dao/db2/SkuRepository.java | 14 +++ .../src/main/resources/application-dev.yml | 7 ++ .../src/main/resources/application.yml | 10 ++ .../config/application-dynamicDatasource.yml | 0 .../main/resources/config/application-jpa.yml | 28 ++++++ .../config/application-shardingSphere.yml | 0 pom.xml | 1 + 21 files changed, 520 insertions(+), 3 deletions(-) rename dev-protocol-devops/src/main/java/com/baiye/{ => dao}/entity/Notebook.java (97%) create mode 100644 dev-protocol-shardingtask/README.md create mode 100644 dev-protocol-shardingtask/db/init.sql create mode 100644 dev-protocol-shardingtask/pom.xml create mode 100644 dev-protocol-shardingtask/src/main/java/com/baiye/DevProtocolsShardingTaskApplication.java create mode 100644 dev-protocol-shardingtask/src/main/java/com/baiye/configuration/DataSource1Config.java create mode 100644 dev-protocol-shardingtask/src/main/java/com/baiye/configuration/DataSource2Config.java create mode 100644 dev-protocol-shardingtask/src/main/java/com/baiye/controller/OrderController.java create mode 100644 dev-protocol-shardingtask/src/main/java/com/baiye/dao/db1/Order.java create mode 100644 dev-protocol-shardingtask/src/main/java/com/baiye/dao/db1/OrderRepository.java create mode 100644 dev-protocol-shardingtask/src/main/java/com/baiye/dao/db2/Sku.java create mode 100644 dev-protocol-shardingtask/src/main/java/com/baiye/dao/db2/SkuRepository.java create mode 100644 dev-protocol-shardingtask/src/main/resources/application-dev.yml create mode 100644 dev-protocol-shardingtask/src/main/resources/application.yml create mode 100644 dev-protocol-shardingtask/src/main/resources/config/application-dynamicDatasource.yml create mode 100644 dev-protocol-shardingtask/src/main/resources/config/application-jpa.yml create mode 100644 dev-protocol-shardingtask/src/main/resources/config/application-shardingSphere.yml diff --git a/README.md b/README.md index ea09757..eedc83f 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,8 @@ - 智能网关设计 dev-protocol-devops - DevOps 相关的最佳实现 + dev-protocol-shardingtask + - 配置多数据源和分表分库实现 ### 1.1 基本命令(dev-protocol-log) - Kafka diff --git a/dev-protocol-devops/src/main/java/com/baiye/controller/NotebookController.java b/dev-protocol-devops/src/main/java/com/baiye/controller/NotebookController.java index 45174bd..402409b 100644 --- a/dev-protocol-devops/src/main/java/com/baiye/controller/NotebookController.java +++ b/dev-protocol-devops/src/main/java/com/baiye/controller/NotebookController.java @@ -1,6 +1,6 @@ package com.baiye.controller; -import com.baiye.entity.Notebook; +import com.baiye.dao.entity.Notebook; import com.baiye.repository.NotebookRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; diff --git a/dev-protocol-devops/src/main/java/com/baiye/entity/Notebook.java b/dev-protocol-devops/src/main/java/com/baiye/dao/entity/Notebook.java similarity index 97% rename from dev-protocol-devops/src/main/java/com/baiye/entity/Notebook.java rename to dev-protocol-devops/src/main/java/com/baiye/dao/entity/Notebook.java index 2a94642..009fd7e 100644 --- a/dev-protocol-devops/src/main/java/com/baiye/entity/Notebook.java +++ b/dev-protocol-devops/src/main/java/com/baiye/dao/entity/Notebook.java @@ -1,4 +1,4 @@ -package com.baiye.entity; +package com.baiye.dao.entity; import javax.persistence.Column; diff --git a/dev-protocol-devops/src/main/java/com/baiye/repository/NotebookRepository.java b/dev-protocol-devops/src/main/java/com/baiye/repository/NotebookRepository.java index 1b52485..c6a9e35 100644 --- a/dev-protocol-devops/src/main/java/com/baiye/repository/NotebookRepository.java +++ b/dev-protocol-devops/src/main/java/com/baiye/repository/NotebookRepository.java @@ -1,7 +1,7 @@ package com.baiye.repository; -import com.baiye.entity.Notebook; +import com.baiye.dao.entity.Notebook; import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; diff --git a/dev-protocol-shardingtask/README.md b/dev-protocol-shardingtask/README.md new file mode 100644 index 0000000..1244834 --- /dev/null +++ b/dev-protocol-shardingtask/README.md @@ -0,0 +1,10 @@ +## 场景描述 + 场景: + 假设订单库使用了分表分库 + 订单相关的SKU使用的是别的库 + + 技术框架: + SpringBoot + ShardingSphere + JPA / dynamic-datasource +## 实现功能 + 多数据源动态切换整合分表分库实现 + \ No newline at end of file diff --git a/dev-protocol-shardingtask/db/init.sql b/dev-protocol-shardingtask/db/init.sql new file mode 100644 index 0000000..36c984f --- /dev/null +++ b/dev-protocol-shardingtask/db/init.sql @@ -0,0 +1,20 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for order +-- ---------------------------- +DROP TABLE IF EXISTS `order`; +CREATE TABLE `order` +( + `id` bigint(20) NOT NULL COMMENT 'id', + `order_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `order_price` decimal(10, 2) NOT NULL, + `order_time` datetime(0) NOT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_general_ci + ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/dev-protocol-shardingtask/pom.xml b/dev-protocol-shardingtask/pom.xml new file mode 100644 index 0000000..d200086 --- /dev/null +++ b/dev-protocol-shardingtask/pom.xml @@ -0,0 +1,65 @@ + + + + dev-protocol + org.example + 1.0-SNAPSHOT + + 4.0.0 + + dev-protocol-shardingtask + + + 8 + 8 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + + + + + + + + + + mysql + mysql-connector-java + runtime + + + + com.h2database + h2 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + \ No newline at end of file diff --git a/dev-protocol-shardingtask/src/main/java/com/baiye/DevProtocolsShardingTaskApplication.java b/dev-protocol-shardingtask/src/main/java/com/baiye/DevProtocolsShardingTaskApplication.java new file mode 100644 index 0000000..1cc1d63 --- /dev/null +++ b/dev-protocol-shardingtask/src/main/java/com/baiye/DevProtocolsShardingTaskApplication.java @@ -0,0 +1,39 @@ +package com.baiye; + +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ConfigurableApplicationContext; + +import java.util.Iterator; + +/** + * 开发协议appication分片任务 + * + * @author q + * @date 2021/11/29 + */ +@SpringBootApplication +public class DevProtocolsShardingTaskApplication { + + public static void main(String[] args) { + + // todo 这里先拿到上下文一会检查下配置 + ConfigurableApplicationContext context = new SpringApplicationBuilder(DevProtocolsShardingTaskApplication.class) + .run(args); + + // 检查Beans加载 + checkAllBeansWithName(context); + + } + + private static void checkAllBeansWithName(ConfigurableApplicationContext context) { + + Iterator beanNamesIterator = context.getBeanFactory().getBeanNamesIterator(); + + int i = 0; + while (beanNamesIterator.hasNext()) { + System.out.println("bean number is : " + (i++) + "name is : " + beanNamesIterator.next()); + } + } +} diff --git a/dev-protocol-shardingtask/src/main/java/com/baiye/configuration/DataSource1Config.java b/dev-protocol-shardingtask/src/main/java/com/baiye/configuration/DataSource1Config.java new file mode 100644 index 0000000..08bd9b8 --- /dev/null +++ b/dev-protocol-shardingtask/src/main/java/com/baiye/configuration/DataSource1Config.java @@ -0,0 +1,95 @@ +package com.baiye.configuration; + +import com.zaxxer.hikari.HikariDataSource; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +import org.springframework.orm.jpa.JpaTransactionManager; +import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import org.springframework.util.StringUtils; + +import javax.persistence.EntityManagerFactory; +import javax.sql.DataSource; + +/** + * 数据source1配置 + * + * 开启事物 + * + * @author q + * @date 2021/11/29 + */ +@Configuration +@EnableTransactionManagement +@EnableJpaRepositories( + basePackages = {"com.baiye.dao.db1"},//数据源1的repository的包路径 + entityManagerFactoryRef = "db1EntityManagerFactory",//改变数据源1的EntityManagerFactory的默认值,改为db1EntityManagerFactory + transactionManagerRef = "db1TransactionManager"//改变数据源1的transactionManager的默认值,改为db1TransactionManager +) +public class DataSource1Config { + + /** + * 指定数据源1的dataSource配置 + * + * @see ConfigurationProperties 数据源1的db配置前缀采用spring.datasource1 + */ + @Primary + @Bean(name = "db1DataSourceProperties") + @ConfigurationProperties("spring.datasource1") + public DataSourceProperties dataSourceProperties() { + return new DataSourceProperties(); + } + + /** + * 可以选择不同的数据源,这里我用HikariDataSource举例,创建数据源1 + * + * @see ConfigurationProperties 配置数据源1所用的hikari配置key的前缀 + * @param db1DataSourceProperties + * @return + */ + @Primary + @Bean(name = "db1DataSource") + @ConfigurationProperties(prefix = "spring.datasource.hikari.db1") + public HikariDataSource dataSource(@Qualifier("db1DataSourceProperties") DataSourceProperties db1DataSourceProperties) { + HikariDataSource dataSource = db1DataSourceProperties.initializeDataSourceBuilder().type(HikariDataSource.class).build(); + if (StringUtils.hasText(db1DataSourceProperties.getName())) { + dataSource.setPoolName(db1DataSourceProperties.getName()); + } + return dataSource; + } + + + /** + * 配置数据源1的entityManagerFactory命名为db1EntityManagerFactory,用来对实体进行一些操作 + * @param builder + * @param db1DataSource entityManager依赖db1DataSource + * @return + */ + @Primary + @Bean(name = "db1EntityManagerFactory") + public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder, @Qualifier("db1DataSource") DataSource db1DataSource) { + return builder.dataSource(db1DataSource) + //数据1的实体所在的路径 + .packages("com.baiye.dao.db1") + // persistenceUnit的名字采用db1 + .persistenceUnit("db1") + .build(); + } + /** + * 配置数据源1的事务管理者,命名为db1TransactionManager依赖db1EntityManagerFactory + * @param db1EntityManagerFactory + * @return + */ + @Primary + @Bean(name = "db1TransactionManager") + public PlatformTransactionManager transactionManager(@Qualifier("db1EntityManagerFactory") EntityManagerFactory db1EntityManagerFactory) { + return new JpaTransactionManager(db1EntityManagerFactory); + } +} diff --git a/dev-protocol-shardingtask/src/main/java/com/baiye/configuration/DataSource2Config.java b/dev-protocol-shardingtask/src/main/java/com/baiye/configuration/DataSource2Config.java new file mode 100644 index 0000000..42a3bc9 --- /dev/null +++ b/dev-protocol-shardingtask/src/main/java/com/baiye/configuration/DataSource2Config.java @@ -0,0 +1,93 @@ +package com.baiye.configuration; + +import com.zaxxer.hikari.HikariDataSource; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +import org.springframework.orm.jpa.JpaTransactionManager; +import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import org.springframework.util.StringUtils; + +import javax.persistence.EntityManagerFactory; +import javax.sql.DataSource; + +/** + * 数据source2配置 + * + * @author q + * @date 2021/11/29 + */ +@Configuration +@EnableTransactionManagement//开启事务 +//利用EnableJpaRepositories,配置哪些包下面的Repositories,采用哪个 EntityManagerFactory 和哪个 transactionManager +@EnableJpaRepositories( + basePackages = {"com.baiye.dao.db2"},//数据源2的repository的包路径 + entityManagerFactoryRef = "db2EntityManagerFactory",//改变数据源2的EntityManagerFactory的默认值,改为db2EntityManagerFactory + transactionManagerRef = "db2TransactionManager"//改变数据源2的transactionManager的默认值,改为db2TransactionManager +) +public class DataSource2Config { + + /** + * 指定数据源2的dataSource配置 + * + * 数据源2的db配置前缀采用spring.datasource2 + * @return + */ + @Bean(name = "db2DataSourceProperties") + @ConfigurationProperties("spring.datasource2") + public DataSourceProperties dataSourceProperties() { + return new DataSourceProperties(); + } + + /** + * 可以选择不同的数据源,这里我用HikariDataSource举例,创建数据源2 + * + * 配置数据源2的hikari配置key的前缀 + * + * @param db2DataSourceProperties + * @return + */ + @Bean(name = "db2DataSource") + @ConfigurationProperties(prefix = "spring.datasource.hikari.db2") + public HikariDataSource dataSource(@Qualifier("db2DataSourceProperties") DataSourceProperties db2DataSourceProperties) { + HikariDataSource dataSource = db2DataSourceProperties.initializeDataSourceBuilder().type(HikariDataSource.class).build(); + if (StringUtils.hasText(db2DataSourceProperties.getName())) { + dataSource.setPoolName(db2DataSourceProperties.getName()); + } + return dataSource; + } + + /** + * 配置数据源2的entityManagerFactory命名为db2EntityManagerFactory,用来对实体进行一些操作 + * + * @param builder + * @param db2DataSource entityManager依赖db2DataSource + * @return + */ + @Bean(name = "db2EntityManagerFactory") + public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder, @Qualifier("db2DataSource") DataSource db2DataSource) { + return builder.dataSource(db2DataSource) + //数据2的实体所在的路径 + .packages("com.baiye.dao.db2") + // persistenceUnit的名字采用db2 + .persistenceUnit("db2") + .build(); + } + + /** + * 配置数据源2的事务管理者,命名为db2TransactionManager依赖db2EntityManagerFactory + * + * @param db2EntityManagerFactory + * @return + */ + @Bean(name = "db2TransactionManager") + public PlatformTransactionManager transactionManager(@Qualifier("db2EntityManagerFactory") EntityManagerFactory db2EntityManagerFactory) { + return new JpaTransactionManager(db2EntityManagerFactory); + } +} diff --git a/dev-protocol-shardingtask/src/main/java/com/baiye/controller/OrderController.java b/dev-protocol-shardingtask/src/main/java/com/baiye/controller/OrderController.java new file mode 100644 index 0000000..b31ab62 --- /dev/null +++ b/dev-protocol-shardingtask/src/main/java/com/baiye/controller/OrderController.java @@ -0,0 +1,35 @@ +package com.baiye.controller; + +import com.baiye.dao.db1.Order; +import com.baiye.dao.db1.OrderRepository; +import com.baiye.dao.db2.Sku; +import com.baiye.dao.db2.SkuRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class OrderController { + @Autowired + private OrderRepository orderRepository; + @Autowired + private SkuRepository skuRepository; + + /** + * 保存订单 + * + * @param order 订单 + * @return {@link Order} + */ + @PostMapping("/user") + public Order saveOrder(@RequestBody Order order) { + return orderRepository.save(order); + } + + + @PostMapping("/user/info") + public Sku saveUserInfo(@RequestBody Sku sku) { + return skuRepository.save(sku); + } +} \ No newline at end of file diff --git a/dev-protocol-shardingtask/src/main/java/com/baiye/dao/db1/Order.java b/dev-protocol-shardingtask/src/main/java/com/baiye/dao/db1/Order.java new file mode 100644 index 0000000..8940310 --- /dev/null +++ b/dev-protocol-shardingtask/src/main/java/com/baiye/dao/db1/Order.java @@ -0,0 +1,42 @@ +package com.baiye.dao.db1; + + +import javax.persistence.*; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 订单 -数据源1 + * + * @author q + * @date 2021/11/29 + */ +@Entity +@Table(name = "order") +public class Order { + + /** + * id + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * 订单名称 + */ + @Column(name = "order_name") + private String orderName; + + /** + * 订单价格 + */ + @Column(name = "order_price") + private BigDecimal orderPrice; + + /** + * 订单时间 + */ + @Column(name = "order_time") + private Date orderTime; +} diff --git a/dev-protocol-shardingtask/src/main/java/com/baiye/dao/db1/OrderRepository.java b/dev-protocol-shardingtask/src/main/java/com/baiye/dao/db1/OrderRepository.java new file mode 100644 index 0000000..53833be --- /dev/null +++ b/dev-protocol-shardingtask/src/main/java/com/baiye/dao/db1/OrderRepository.java @@ -0,0 +1,14 @@ +package com.baiye.dao.db1; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +/** + * 顺序存储库 + * + * @author q + * @date 2021/11/29 + */ +@Repository +public interface OrderRepository extends JpaRepository { +} diff --git a/dev-protocol-shardingtask/src/main/java/com/baiye/dao/db2/Sku.java b/dev-protocol-shardingtask/src/main/java/com/baiye/dao/db2/Sku.java new file mode 100644 index 0000000..042e548 --- /dev/null +++ b/dev-protocol-shardingtask/src/main/java/com/baiye/dao/db2/Sku.java @@ -0,0 +1,42 @@ +package com.baiye.dao.db2; + + +import javax.persistence.*; + +/** + * sku -数据源2 + * + * @author q + * @date 2021/11/29 + */ +@Entity +@Table(name = "sku") +public class Sku { + + /** + * id + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * 名字 + */ + private String name; + + /** + * 等级 + */ + private String level; + + /** + * 颜色 + */ + private String color; + + /** + * 规格 + */ + private String size; +} diff --git a/dev-protocol-shardingtask/src/main/java/com/baiye/dao/db2/SkuRepository.java b/dev-protocol-shardingtask/src/main/java/com/baiye/dao/db2/SkuRepository.java new file mode 100644 index 0000000..20d5f12 --- /dev/null +++ b/dev-protocol-shardingtask/src/main/java/com/baiye/dao/db2/SkuRepository.java @@ -0,0 +1,14 @@ +package com.baiye.dao.db2; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +/** + * sku库 + * + * @author q + * @date 2021/11/29 + */ +@Repository +public interface SkuRepository extends JpaRepository { +} diff --git a/dev-protocol-shardingtask/src/main/resources/application-dev.yml b/dev-protocol-shardingtask/src/main/resources/application-dev.yml new file mode 100644 index 0000000..d917e92 --- /dev/null +++ b/dev-protocol-shardingtask/src/main/resources/application-dev.yml @@ -0,0 +1,7 @@ +# 加载不同的配置文件,进行配置文件分离 +spring: + profiles: + include: + - jpa +# - shardingSphere +# - dynamicDatasource diff --git a/dev-protocol-shardingtask/src/main/resources/application.yml b/dev-protocol-shardingtask/src/main/resources/application.yml new file mode 100644 index 0000000..ebdd62f --- /dev/null +++ b/dev-protocol-shardingtask/src/main/resources/application.yml @@ -0,0 +1,10 @@ +# 基本配置 +server: + port: 8088 + +spring: + application: + name: dev-protocol-shardingtask +# 加载不同环境 + profiles: + active: dev \ No newline at end of file diff --git a/dev-protocol-shardingtask/src/main/resources/config/application-dynamicDatasource.yml b/dev-protocol-shardingtask/src/main/resources/config/application-dynamicDatasource.yml new file mode 100644 index 0000000..e69de29 diff --git a/dev-protocol-shardingtask/src/main/resources/config/application-jpa.yml b/dev-protocol-shardingtask/src/main/resources/config/application-jpa.yml new file mode 100644 index 0000000..d81a3a6 --- /dev/null +++ b/dev-protocol-shardingtask/src/main/resources/config/application-jpa.yml @@ -0,0 +1,28 @@ +spring: + ###########datasource1 采用Mysql数据库 + datasource1: + url: jdbc:mysql://localhost:3306/test2?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&rewriteBatchedStatements=true + username: root + password: root + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + hikari: + ##数据源1的连接池的名字 + db1: + pool-name: jpa-hikari-pool-db1 + ## 最长生命周期15分钟 + maxLifetime: 900000 + maximumPoolSize: 8 + ###########datasource2 采用h2内存数据库 + datasource2: + url: jdbc:h2:~/test + username: sa + password: sa + datasource: + driver-class-name: org.h2.Driver + hikari: + ##数据源2的连接池的名字 + db2: + pool-name: jpa-hikari-pool-db2 + maxLifetime: 500000 + maximumPoolSize: 6 \ No newline at end of file diff --git a/dev-protocol-shardingtask/src/main/resources/config/application-shardingSphere.yml b/dev-protocol-shardingtask/src/main/resources/config/application-shardingSphere.yml new file mode 100644 index 0000000..e69de29 diff --git a/pom.xml b/pom.xml index 66e2e0c..1af7c8e 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,7 @@ dev-protocol-common dev-protocol-gateway dev-protocol-devops + dev-protocol-shardingtask