Package org.aoju.bus.starter.jdbc
Class DynamicDataSource
java.lang.Object
org.springframework.jdbc.datasource.AbstractDataSource
org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource
org.aoju.bus.starter.jdbc.DynamicDataSource
- All Implemented Interfaces:
Wrapper,CommonDataSource,DataSource,org.springframework.beans.factory.InitializingBean
public class DynamicDataSource
extends org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource
多数据源支持
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
Fields inherited from class org.springframework.jdbc.datasource.AbstractDataSource
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddDataSource(String key, DataSource dataSource) 动态增加数据源void在获取key的集合,目的只是为了添加一些告警日志booleancontainsKey(String key) 判断指定DataSrouce当前是否存在protected ObjectAbstractRoutingDataSource 抽象类实现方法, 即获取当前线程数据源的key获取默认数据源static DynamicDataSource单例方法voidsetTargetDataSources(Map<Object, Object> map) Methods inherited from class org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource
createConnectionBuilder, createShardingKeyBuilder, determineTargetDataSource, getConnection, getConnection, getResolvedDataSources, getResolvedDefaultDataSource, initialize, isWrapperFor, resolveSpecifiedDataSource, resolveSpecifiedLookupKey, setDataSourceLookup, setDefaultTargetDataSource, setLenientFallback, unwrapMethods inherited from class org.springframework.jdbc.datasource.AbstractDataSource
getLoginTimeout, getLogWriter, getParentLogger, setLoginTimeout, setLogWriter
-
Constructor Details
-
DynamicDataSource
public DynamicDataSource()
-
-
Method Details
-
getInstance
-
addDataSource
动态增加数据源- Parameters:
key- 数据源keydataSource- 数据源信息
-
setTargetDataSources
-
determineCurrentLookupKey
AbstractRoutingDataSource 抽象类实现方法, 即获取当前线程数据源的key- Specified by:
determineCurrentLookupKeyin classorg.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource- Returns:
- 当前数据源key
-
afterPropertiesSet
public void afterPropertiesSet()在获取key的集合,目的只是为了添加一些告警日志- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Overrides:
afterPropertiesSetin classorg.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource
-
containsKey
判断指定DataSrouce当前是否存在- Parameters:
key- 数据源key- Returns:
- the true/false
-
getDefaultDataSource
-