public abstract class AbstractClusterRouter extends Object implements IClusterRouter
| Modifier and Type | Field and Description |
|---|---|
private IDBCluster |
dbCluster
db cluster.
|
private HashAlgoEnum |
hashAlgo
hash 算法
|
private ITableCluster |
tableCluster
数据表集群.
|
| Constructor and Description |
|---|
AbstractClusterRouter() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract DBInfo |
doSelect(List<DBInfo> dbInfos,
IShardingKey<?> value)
select database instance.
|
IDBCluster |
getDBCluster()
get db cluster.
|
HashAlgoEnum |
getHashAlgo()
获取hash算法
|
protected long |
getShardingValue(IShardingKey<?> value)
获取shardingvalue的值,如果是String则转成long
|
ITableCluster |
getTableCluster()
获取数据表集群.
|
RouteInfo |
select(EnumDBMasterSlave clusterType,
String tableName,
IShardingKey<?> value)
选择需要操作的数据库表.
|
void |
setDBCluster(IDBCluster dbCluster)
set db cluster.
|
void |
setHashAlgo(HashAlgoEnum algoEnum)
设置hash算法
|
void |
setTableCluster(ITableCluster tableCluster)
设置数据表集群.
|
private HashAlgoEnum hashAlgo
private IDBCluster dbCluster
private ITableCluster tableCluster
public void setHashAlgo(HashAlgoEnum algoEnum)
IClusterRoutersetHashAlgo in interface IClusterRouterpublic HashAlgoEnum getHashAlgo()
IClusterRoutergetHashAlgo in interface IClusterRouterpublic void setDBCluster(IDBCluster dbCluster)
IClusterRoutersetDBCluster in interface IClusterRouterdbCluster - cluster info.public IDBCluster getDBCluster()
IClusterRoutergetDBCluster in interface IClusterRouterpublic void setTableCluster(ITableCluster tableCluster)
IClusterRoutersetTableCluster in interface IClusterRouterpublic ITableCluster getTableCluster()
IClusterRoutergetTableCluster in interface IClusterRouterpublic RouteInfo select(EnumDBMasterSlave clusterType, String tableName, IShardingKey<?> value) throws DBRouteException
IClusterRouterselect in interface IClusterRouterclusterType - 主从库类型.tableName - 表名.value - 分库分表因子.DBRouteException - 路由操作失败protected long getShardingValue(IShardingKey<?> value)
shardingValue - mod - protected abstract DBInfo doSelect(List<DBInfo> dbInfos, IShardingKey<?> value) throws DBRouteException
dbInfos - database cluster info.value - sharding value.DBRouteExceptionCopyright © 2015. All rights reserved.