Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
74fb5fee
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 搜索 >>
提交
74fb5fee
编写于
9月 26, 2019
作者:
A
avalon566
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactoring MySQLConnector
上级
2f83a635
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
17 deletion
+19
-17
src/main/java/info/avalon566/shardingscaling/sync/mysql/binlog/MySQLConnector.java
...566/shardingscaling/sync/mysql/binlog/MySQLConnector.java
+19
-17
未找到文件。
src/main/java/info/avalon566/shardingscaling/sync/mysql/binlog/MySQLConnector.java
浏览文件 @
74fb5fee
...
...
@@ -71,6 +71,23 @@ public final class MySQLConnector {
private
Promise
<
Object
>
responseCallback
;
class
MySQLCommandResponHandler
extends
ChannelInboundHandlerAdapter
{
@Override
public
void
channelRead
(
final
ChannelHandlerContext
ctx
,
final
Object
msg
)
{
if
(
null
!=
responseCallback
)
{
responseCallback
.
setSuccess
(
msg
);
}
}
@Override
public
void
exceptionCaught
(
final
ChannelHandlerContext
ctx
,
final
Throwable
cause
)
{
if
(
null
!=
responseCallback
)
{
responseCallback
.
setFailure
(
cause
);
log
.
error
(
"protocol resolution error"
,
cause
);
}
}
}
public
MySQLConnector
(
final
int
serverId
,
final
String
host
,
final
int
port
,
final
String
username
,
final
String
password
)
{
this
.
serverId
=
serverId
;
this
.
host
=
host
;
...
...
@@ -94,23 +111,7 @@ public final class MySQLConnector {
socketChannel
.
pipeline
().
addLast
(
MySQLLengthFieldBasedFrameEncoder
.
class
.
getSimpleName
(),
new
MySQLLengthFieldBasedFrameEncoder
());
socketChannel
.
pipeline
().
addLast
(
new
MySQLCommandPacketDecoder
());
socketChannel
.
pipeline
().
addLast
(
new
MySQLNegotiateHandler
(
username
,
password
,
responseCallback
));
socketChannel
.
pipeline
().
addLast
(
new
ChannelInboundHandlerAdapter
()
{
@Override
public
void
channelRead
(
final
ChannelHandlerContext
ctx
,
final
Object
msg
)
{
if
(
null
!=
responseCallback
)
{
responseCallback
.
setSuccess
(
msg
);
}
}
@Override
public
void
exceptionCaught
(
final
ChannelHandlerContext
ctx
,
final
Throwable
cause
)
{
if
(
null
!=
responseCallback
)
{
responseCallback
.
setFailure
(
cause
);
log
.
error
(
"protocol resolution error"
,
cause
);
}
}
});
socketChannel
.
pipeline
().
addLast
(
new
MySQLCommandResponHandler
());
}
})
.
option
(
ChannelOption
.
AUTO_READ
,
true
)
...
...
@@ -175,6 +176,7 @@ public final class MySQLConnector {
binlogDumpCmd
.
setBinlogPosition
(
binlogPosition
);
binlogDumpCmd
.
setSlaveServerId
(
serverId
);
channel
.
pipeline
().
remove
(
MySQLCommandPacketDecoder
.
class
);
channel
.
pipeline
().
remove
(
MySQLCommandResponHandler
.
class
);
channel
.
pipeline
().
addAfter
(
MySQLLengthFieldBasedFrameEncoder
.
class
.
getSimpleName
(),
MySQLBinlogEventPacketDecoder
.
class
.
getSimpleName
(),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录