提交 be15756d 编写于 作者: T terrymanu

refactor AbstractRefreshHandler

上级 40866359
......@@ -36,14 +36,25 @@ import java.util.Map;
* @author zhaojun
*/
public final class JDBCShardingRefreshHandler extends AbstractRefreshHandler {
private final ShardingConnection shardingConnection;
private JDBCShardingRefreshHandler(final ShardingConnection shardingConnection, final SQLStatement sqlStatement, final ShardingMetaData shardingMetaData, final ShardingRule shardingRule) {
super(sqlStatement, shardingMetaData, shardingRule);
this.shardingConnection = shardingConnection;
}
/**
* create new instance of {@code JDBCShardingRefreshHandler}.
*
* @param sqlStatement SQL statement
* @param connection {@code ShardingConnection}
* @return {@code JDBCShardingRefreshHandler}
*/
public static JDBCShardingRefreshHandler build(final SQLStatement sqlStatement, final ShardingConnection connection) {
return new JDBCShardingRefreshHandler(connection, sqlStatement, connection.getShardingContext().getShardingMetaData(), connection.getShardingContext().getShardingRule());
}
@Override
public void execute() throws SQLException {
if (isNeedRefresh()) {
......@@ -61,15 +72,4 @@ public final class JDBCShardingRefreshHandler extends AbstractRefreshHandler {
}
return connectionMap;
}
/**
* create new instance of {@code JDBCShardingRefreshHandler}.
*
* @param sqlStatement SQL statement
* @param connection {@code ShardingConnection}
* @return {@code JDBCShardingRefreshHandler}
*/
public static JDBCShardingRefreshHandler build(final SQLStatement sqlStatement, final ShardingConnection connection) {
return new JDBCShardingRefreshHandler(connection, sqlStatement, connection.getShardingContext().getShardingMetaData(), connection.getShardingContext().getShardingRule());
}
}
......@@ -37,15 +37,6 @@ public final class ProxyShardingRefreshHandler extends AbstractRefreshHandler {
super(sqlStatement, shardingMetaData, shardingRule);
}
@Override
public void execute() {
if (isNeedRefresh()) {
String logicTable = getSqlStatement().getTables().getSingleTableName();
TableRule tableRule = getShardingRule().getTableRule(logicTable);
getShardingMetaData().refresh(tableRule, getShardingRule());
}
}
/**
* create new instance of {@code ProxyShardingRefreshHandler}.
*
......@@ -55,4 +46,13 @@ public final class ProxyShardingRefreshHandler extends AbstractRefreshHandler {
public static ProxyShardingRefreshHandler build(final SQLStatement sqlStatement) {
return new ProxyShardingRefreshHandler(sqlStatement, RuleRegistry.getInstance().getShardingMetaData(), RuleRegistry.getInstance().getShardingRule());
}
@Override
public void execute() {
if (isNeedRefresh()) {
String logicTable = getSqlStatement().getTables().getSingleTableName();
TableRule tableRule = getShardingRule().getTableRule(logicTable);
getShardingMetaData().refresh(tableRule, getShardingRule());
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册