提交 7dd558f1 编写于 作者: T terrymanu

refactor UnparsingSQLRouter => DatabaseHintSQLRouter

上级 be961d73
...@@ -27,22 +27,22 @@ import com.dangdang.ddframe.rdb.sharding.routing.SQLExecutionUnit; ...@@ -27,22 +27,22 @@ import com.dangdang.ddframe.rdb.sharding.routing.SQLExecutionUnit;
import com.dangdang.ddframe.rdb.sharding.routing.SQLRouteResult; import com.dangdang.ddframe.rdb.sharding.routing.SQLRouteResult;
import com.dangdang.ddframe.rdb.sharding.routing.type.RoutingResult; import com.dangdang.ddframe.rdb.sharding.routing.type.RoutingResult;
import com.dangdang.ddframe.rdb.sharding.routing.type.TableUnit; import com.dangdang.ddframe.rdb.sharding.routing.type.TableUnit;
import com.dangdang.ddframe.rdb.sharding.routing.type.direct.DirectRoutingEngine; import com.dangdang.ddframe.rdb.sharding.routing.type.hint.DatabaseHintRoutingEngine;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.util.List; import java.util.List;
/** /**
* 无需解析的SQL路由器. * 通过提示且仅路由至数据库的SQL路由器.
* *
* @author zhangiang * @author zhangiang
*/ */
@Slf4j @Slf4j
public final class UnparsingSQLRouter implements SQLRouter { public final class DatabaseHintSQLRouter implements SQLRouter {
private final ShardingRule shardingRule; private final ShardingRule shardingRule;
public UnparsingSQLRouter(final ShardingContext shardingContext) { public DatabaseHintSQLRouter(final ShardingContext shardingContext) {
shardingRule = shardingContext.getShardingRule(); shardingRule = shardingContext.getShardingRule();
} }
...@@ -56,7 +56,7 @@ public final class UnparsingSQLRouter implements SQLRouter { ...@@ -56,7 +56,7 @@ public final class UnparsingSQLRouter implements SQLRouter {
public SQLRouteResult route(final String logicSQL, final List<Object> parameters, final SQLStatement sqlStatement) { public SQLRouteResult route(final String logicSQL, final List<Object> parameters, final SQLStatement sqlStatement) {
Context context = MetricsContext.start("Route SQL"); Context context = MetricsContext.start("Route SQL");
SQLRouteResult result = new SQLRouteResult(sqlStatement); SQLRouteResult result = new SQLRouteResult(sqlStatement);
RoutingResult routingResult = new DirectRoutingEngine(shardingRule.getDataSourceRule(), shardingRule.getDatabaseShardingStrategy(), sqlStatement.getType()).route(); RoutingResult routingResult = new DatabaseHintRoutingEngine(shardingRule.getDataSourceRule(), shardingRule.getDatabaseShardingStrategy(), sqlStatement.getType()).route();
for (TableUnit each : routingResult.getTableUnits().getTableUnits()) { for (TableUnit each : routingResult.getTableUnits().getTableUnits()) {
result.getExecutionUnits().add(new SQLExecutionUnit(each.getDataSourceName(), logicSQL)); result.getExecutionUnits().add(new SQLExecutionUnit(each.getDataSourceName(), logicSQL));
} }
......
...@@ -37,6 +37,6 @@ public final class SQLRouterFactory { ...@@ -37,6 +37,6 @@ public final class SQLRouterFactory {
* @return SQL路由器 * @return SQL路由器
*/ */
public static SQLRouter createSQLRouter(final ShardingContext shardingContext) { public static SQLRouter createSQLRouter(final ShardingContext shardingContext) {
return HintManagerHolder.isDatabaseShardingOnly() ? new UnparsingSQLRouter(shardingContext) : new ParsingSQLRouter(shardingContext); return HintManagerHolder.isDatabaseShardingOnly() ? new DatabaseHintSQLRouter(shardingContext) : new ParsingSQLRouter(shardingContext);
} }
} }
package com.dangdang.ddframe.rdb.sharding.routing.type; package com.dangdang.ddframe.rdb.sharding.routing.type;
/** /**
* 路由接口. * 路由引擎接口.
* *
* @author zhangliang * @author zhangliang
*/ */
......
...@@ -37,7 +37,7 @@ import java.util.List; ...@@ -37,7 +37,7 @@ import java.util.List;
import java.util.TreeSet; import java.util.TreeSet;
/** /**
* 混合多库表路由. * 混合多库表路由引擎.
* *
* @author gaohongtao * @author gaohongtao
* @author zhangliang * @author zhangliang
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* </p> * </p>
*/ */
package com.dangdang.ddframe.rdb.sharding.routing.type.direct; package com.dangdang.ddframe.rdb.sharding.routing.type.hint;
import com.dangdang.ddframe.rdb.sharding.api.ShardingValue; import com.dangdang.ddframe.rdb.sharding.api.ShardingValue;
import com.dangdang.ddframe.rdb.sharding.api.rule.DataSourceRule; import com.dangdang.ddframe.rdb.sharding.api.rule.DataSourceRule;
...@@ -35,13 +35,14 @@ import java.util.Collection; ...@@ -35,13 +35,14 @@ import java.util.Collection;
import java.util.Collections; import java.util.Collections;
/** /**
* 直接路由. * 基于数据库提示的路由引擎.
* *
* @author gaohongtao * @author gaohongtao
* @author zhangliang
*/ */
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
public final class DirectRoutingEngine implements RoutingEngine { public final class DatabaseHintRoutingEngine implements RoutingEngine {
private final DataSourceRule dataSourceRule; private final DataSourceRule dataSourceRule;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册