public class ReadWriteDataSource
extends org.springframework.jdbc.datasource.AbstractDataSource
implements org.springframework.beans.factory.InitializingBean
读/写动态选择数据库实现
目前实现功能
一写库多读库选择功能,请参考
@see cn.featherfly.jdbc.datasource.ReadWriteDataSourceDecision
@see cn.featherfly.jdbc.datasource.ReadWriteDataSourceDecision.DataSourceType
默认按顺序轮询使用读库
默认选择写库
已实现:一写多读、当写时默认读操作到写库、当读时强制读操作到读库
TODO 读库负载均衡、读库故障转移
| 构造器和说明 |
|---|
ReadWriteDataSource() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
afterPropertiesSet() |
java.sql.Connection |
getConnection() |
java.sql.Connection |
getConnection(java.lang.String username,
java.lang.String password) |
void |
setReadDataSourceMap(java.util.Map<java.lang.String,javax.sql.DataSource> readDataSourceMap)
设置读库(name, DataSource)
|
void |
setWriteDataSource(javax.sql.DataSource writeDataSource)
设置写库
|
public void setReadDataSourceMap(java.util.Map<java.lang.String,javax.sql.DataSource> readDataSourceMap)
readDataSourceMap - Map<String, DataSource>public void setWriteDataSource(javax.sql.DataSource writeDataSource)
设置写库
writeDataSource - DataSourcepublic void afterPropertiesSet()
throws java.lang.Exception
afterPropertiesSet 在接口中 org.springframework.beans.factory.InitializingBeanjava.lang.Exceptionpublic java.sql.Connection getConnection()
throws java.sql.SQLException
getConnection 在接口中 javax.sql.DataSourcejava.sql.SQLExceptionpublic java.sql.Connection getConnection(java.lang.String username,
java.lang.String password)
throws java.sql.SQLException
getConnection 在接口中 javax.sql.DataSourcejava.sql.SQLException