1.下面是数据库配置文件 pool.properties
#例外
eman.excepts=depv.,
#驱动名称
#master.dataSourceClassName=com.zaxxer.hikari.HikariDataSource
#最小连接空闲数
master.minimumIdle=5
#连接池最大连接数,包括闲置和使用中的连接
master.maximumPoolSize=100
#等待池中连接的最大毫秒数,如果在没有连接可用的情况下超过此时间,则将抛出SQLException
master.connectionTimeout=30000
#连接测试活动的最长时间,该值必须小于connectionTimeout
master.validationTimeout=2000
#测试连接(驱动程序支持JDBC4,不建议设置此属性)
#master.connectionTestQuery=SELECT 1
#池中空闲的最长时间,此设置仅在minimumIdle定义为小于时才适用maximumPoolSize(值为0表示永远不会从池中删除空闲连接.默认值:600000(10分钟))
master.idleTimeout=600000
#池中连接的最长生命周期(值0表示限寿命.默认值:1800000(30分钟))
master.maxLifetime=1800000
#驱动类
master.driverClassName=com.mysql.cj.jdbc.Driver
#连接地址{database}代表映射database值
master.jdbcUrl=jdbc:mysql://localhost:3306/{database}?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
#用户名
master.username=root
#密码,发布时支持sha加密
master.password=
#数据库名称
master.database=
#连接池的定义名称,所有连接配置必填对象
master.poolName=hikariCP-master
slave1.inherit=master
slave1.driverClassName=com.mysql.cj.jdbc.Driver
slave1.jdbcUrl=jdbc:mysql://192.168.10.37:3306/{database}?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
slave1.username=smy
slave1.password=123456
slave1.database=em
slave1.poolName=hikariCP-slave1
slave1.idleTimeout=600000
slave1.maxLifetime=1765000
2.代码里切换数据库,在事件响应层切换
DBContextHolder.setDataSourceKey(DataSourceKey.slave1); // 切换数据库
this.logic.writeI18ns(i18ns);
DBContextHolder.clearDataSourceKey(); // 删除切换数据库