Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
cad9727a
Shardingsphere
项目概览
apache
/
Shardingsphere
通知
56
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Shardingsphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
cad9727a
编写于
8月 06, 2018
作者:
T
terrymanu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor BackendNettyClient
上级
c894fe58
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
19 addition
and
18 deletion
+19
-18
sharding-core/src/main/java/io/shardingsphere/core/metadata/datasource/ShardingDataSourceMetaData.java
.../core/metadata/datasource/ShardingDataSourceMetaData.java
+5
-5
sharding-core/src/main/java/io/shardingsphere/core/rewrite/SQLBuilder.java
.../main/java/io/shardingsphere/core/rewrite/SQLBuilder.java
+1
-1
sharding-core/src/test/java/io/shardingsphere/core/metadata/datasource/ShardingDataSourceMetaDataTest.java
...e/metadata/datasource/ShardingDataSourceMetaDataTest.java
+2
-2
sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/netty/client/BackendNettyClient.java
...sphere/proxy/backend/netty/client/BackendNettyClient.java
+10
-8
sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/netty/client/NettyChannelPoolHandler.java
...e/proxy/backend/netty/client/NettyChannelPoolHandler.java
+1
-2
未找到文件。
sharding-core/src/main/java/io/shardingsphere/core/metadata/datasource/ShardingDataSourceMetaData.java
浏览文件 @
cad9727a
...
...
@@ -98,12 +98,12 @@ public final class ShardingDataSourceMetaData {
}
/**
* Get
actual schema name
.
*
* Get
data source meta data
.
*
* @param actualDataSourceName actual data source name
* @return actual
schema name
* @return actual
data source meta data
*/
public
String
getActualSchemaName
(
final
String
actualDataSourceName
)
{
return
dataSourceMetaDataMap
.
get
(
actualDataSourceName
)
.
getSchemeName
()
;
public
DataSourceMetaData
getActualDataSourceMetaData
(
final
String
actualDataSourceName
)
{
return
dataSourceMetaDataMap
.
get
(
actualDataSourceName
);
}
}
sharding-core/src/main/java/io/shardingsphere/core/rewrite/SQLBuilder.java
浏览文件 @
cad9727a
...
...
@@ -131,7 +131,7 @@ public final class SQLBuilder {
private
void
appendSchemaPlaceholder
(
final
ShardingRule
shardingRule
,
final
ShardingDataSourceMetaData
shardingDataSourceMetaData
,
final
String
actualTableName
,
final
StringBuilder
stringBuilder
)
{
stringBuilder
.
append
(
shardingDataSourceMetaData
.
getActual
SchemaName
(
shardingRule
.
getActualDataSourceNameByActualTableName
(
actualTableName
)
));
stringBuilder
.
append
(
shardingDataSourceMetaData
.
getActual
DataSourceMetaData
(
shardingRule
.
getActualDataSourceNameByActualTableName
(
actualTableName
)).
getSchemeName
(
));
}
private
void
appendIndexPlaceholder
(
final
IndexPlaceholder
indexPlaceholder
,
final
String
actualTableName
,
final
StringBuilder
stringBuilder
)
{
...
...
sharding-core/src/test/java/io/shardingsphere/core/metadata/datasource/ShardingDataSourceMetaDataTest.java
浏览文件 @
cad9727a
...
...
@@ -93,11 +93,11 @@ public class ShardingDataSourceMetaDataTest {
@Test
public
void
assertGetActualSchemaNameForMasterSlaveShardingRule
()
{
assertEquals
(
masterSlaveShardingDataSourceMetaData
.
getActual
SchemaName
(
"ms_0"
),
"master_0"
);
assertEquals
(
masterSlaveShardingDataSourceMetaData
.
getActual
DataSourceMetaData
(
"ms_0"
).
getSchemeName
(
),
"master_0"
);
}
@Test
public
void
assertGetActualSchemaNameForShardingRule
()
{
assertEquals
(
shardingDataSourceMetaData
.
getActual
SchemaName
(
"ds_0"
),
"db_0"
);
assertEquals
(
shardingDataSourceMetaData
.
getActual
DataSourceMetaData
(
"ds_0"
).
getSchemeName
(
),
"db_0"
);
}
}
sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/netty/client/BackendNettyClient.java
浏览文件 @
cad9727a
...
...
@@ -17,7 +17,6 @@
package
io.shardingsphere.proxy.backend.netty.client
;
import
com.google.common.collect.Maps
;
import
io.netty.bootstrap.Bootstrap
;
import
io.netty.buffer.PooledByteBufAllocator
;
import
io.netty.channel.Channel
;
...
...
@@ -32,6 +31,7 @@ import io.netty.channel.pool.ChannelPoolMap;
import
io.netty.channel.pool.FixedChannelPool
;
import
io.netty.channel.pool.SimpleChannelPool
;
import
io.netty.channel.socket.nio.NioSocketChannel
;
import
io.shardingsphere.core.metadata.datasource.DataSourceMetaData
;
import
io.shardingsphere.core.rule.DataSourceParameter
;
import
io.shardingsphere.proxy.config.RuleRegistry
;
import
lombok.AccessLevel
;
...
...
@@ -39,8 +39,7 @@ import lombok.Getter;
import
lombok.NoArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
java.net.MalformedURLException
;
import
java.net.URL
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
java.util.concurrent.ExecutionException
;
...
...
@@ -67,7 +66,7 @@ public final class BackendNettyClient {
private
static
final
int
CONNECTION_TIMEOUT_SECONDS
=
RULE_REGISTRY
.
getBackendNIOConfig
().
getConnectionTimeoutSeconds
();
private
final
Map
<
String
,
DataSourceConfig
>
dataSourceConfigMap
=
Maps
.
newHashMap
();
private
final
Map
<
String
,
DataSourceConfig
>
dataSourceConfigMap
=
new
HashMap
<>
();
private
EventLoopGroup
workerGroup
;
...
...
@@ -86,14 +85,16 @@ public final class BackendNettyClient {
/**
* Start backend connection client for netty.
*
* @throws MalformedURLException URL is illegal
* @throws InterruptedException interrupted exception
*/
public
void
start
()
throws
MalformedURLException
,
InterruptedException
{
public
void
start
()
throws
InterruptedException
{
Map
<
String
,
DataSourceParameter
>
dataSourceConfigurationMap
=
RULE_REGISTRY
.
getDataSourceConfigurationMap
();
for
(
Entry
<
String
,
DataSourceParameter
>
each
:
dataSourceConfigurationMap
.
entrySet
())
{
URL
url
=
new
URL
(
each
.
getValue
().
getUrl
().
replaceAll
(
"jdbc:mysql:"
,
"http:"
));
dataSourceConfigMap
.
put
(
each
.
getKey
(),
new
DataSourceConfig
(
url
.
getHost
(),
url
.
getPort
(),
url
.
getPath
().
substring
(
1
),
each
.
getValue
().
getUsername
(),
each
.
getValue
().
getPassword
()));
String
actualDataSourceName
=
each
.
getKey
();
DataSourceParameter
dataSourceParameter
=
each
.
getValue
();
DataSourceMetaData
dataSourceMetaData
=
RULE_REGISTRY
.
getMetaData
().
getDataSource
().
getActualDataSourceMetaData
(
actualDataSourceName
);
dataSourceConfigMap
.
put
(
each
.
getKey
(),
new
DataSourceConfig
(
dataSourceMetaData
.
getHostName
(),
dataSourceMetaData
.
getPort
(),
dataSourceMetaData
.
getSchemeName
(),
dataSourceParameter
.
getUsername
(),
dataSourceParameter
.
getPassword
()));
}
Bootstrap
bootstrap
=
new
Bootstrap
();
// TODO :jiaqi where to init workerGroup?
...
...
@@ -137,6 +138,7 @@ public final class BackendNettyClient {
private
void
initPoolMap
(
final
Bootstrap
bootstrap
)
throws
InterruptedException
{
poolMap
=
new
AbstractChannelPoolMap
<
String
,
SimpleChannelPool
>()
{
@Override
protected
SimpleChannelPool
newPool
(
final
String
datasourceName
)
{
DataSourceConfig
dataSourceConfig
=
dataSourceConfigMap
.
get
(
datasourceName
);
...
...
sharding-proxy/src/main/java/io/shardingsphere/proxy/backend/netty/client/NettyChannelPoolHandler.java
浏览文件 @
cad9727a
...
...
@@ -19,8 +19,6 @@ package io.shardingsphere.proxy.backend.netty.client;
import
io.netty.channel.Channel
;
import
io.netty.channel.pool.ChannelPoolHandler
;
import
io.shardingsphere.proxy.backend.netty.client.BackendNettyClientChannelInitializer
;
import
io.shardingsphere.proxy.backend.netty.client.DataSourceConfig
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -33,6 +31,7 @@ import lombok.extern.slf4j.Slf4j;
@RequiredArgsConstructor
@Slf4j
public
class
NettyChannelPoolHandler
implements
ChannelPoolHandler
{
private
final
DataSourceConfig
dataSourceConfig
;
@Override
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录