Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
43360325
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 搜索 >>
提交
43360325
编写于
11月 01, 2019
作者:
A
avalon566
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactor SyncJob
上级
3d7df6c1
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
53 addition
and
1 deletion
+53
-1
sharding-scaling-core/src/main/java/info/avalon566/shardingscaling/core/job/sync/HistoryDataSyncJob.java
...566/shardingscaling/core/job/sync/HistoryDataSyncJob.java
+17
-0
sharding-scaling-core/src/main/java/info/avalon566/shardingscaling/core/job/sync/RealtimeDataSyncJob.java
...66/shardingscaling/core/job/sync/RealtimeDataSyncJob.java
+16
-0
sharding-scaling-core/src/main/java/info/avalon566/shardingscaling/core/job/sync/SyncJob.java
...info/avalon566/shardingscaling/core/job/sync/SyncJob.java
+19
-0
sharding-scaling-core/src/main/java/info/avalon566/shardingscaling/core/job/sync/executor/local/LocalSyncJobExecutor.java
...ng/core/job/sync/executor/local/LocalSyncJobExecutor.java
+1
-1
未找到文件。
sharding-scaling-core/src/main/java/info/avalon566/shardingscaling/core/job/sync/HistoryDataSyncJob.java
浏览文件 @
43360325
...
...
@@ -18,12 +18,14 @@
package
info.avalon566.shardingscaling.core.job.sync
;
import
info.avalon566.shardingscaling.core.config.SyncConfiguration
;
import
info.avalon566.shardingscaling.core.job.MigrateProgress
;
import
info.avalon566.shardingscaling.core.job.sync.executor.Event
;
import
info.avalon566.shardingscaling.core.job.sync.executor.EventType
;
import
info.avalon566.shardingscaling.core.job.sync.executor.Reporter
;
import
info.avalon566.shardingscaling.core.exception.SyncExecuteException
;
import
info.avalon566.shardingscaling.core.sync.SyncExecutor
;
import
info.avalon566.shardingscaling.core.sync.channel.MemoryChannel
;
import
info.avalon566.shardingscaling.core.sync.reader.NopLogPosition
;
import
info.avalon566.shardingscaling.core.sync.reader.Reader
;
import
info.avalon566.shardingscaling.core.sync.reader.ReaderFactory
;
import
info.avalon566.shardingscaling.core.sync.writer.Writer
;
...
...
@@ -50,6 +52,21 @@ public class HistoryDataSyncJob implements SyncJob {
this
.
reporter
=
reporter
;
}
@Override
public
final
void
start
()
{
new
Thread
(
this
).
start
();
}
@Override
public
final
void
stop
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
final
MigrateProgress
getProgress
()
{
return
new
MigrateProgress
(
"HISTORY_DATA_SYNC"
,
new
NopLogPosition
());
}
/**
* Run synchronize task.
*/
...
...
sharding-scaling-core/src/main/java/info/avalon566/shardingscaling/core/job/sync/RealtimeDataSyncJob.java
浏览文件 @
43360325
...
...
@@ -19,6 +19,7 @@ package info.avalon566.shardingscaling.core.job.sync;
import
info.avalon566.shardingscaling.core.config.SyncConfiguration
;
import
info.avalon566.shardingscaling.core.exception.SyncExecuteException
;
import
info.avalon566.shardingscaling.core.job.MigrateProgress
;
import
info.avalon566.shardingscaling.core.job.sync.executor.Event
;
import
info.avalon566.shardingscaling.core.job.sync.executor.EventType
;
import
info.avalon566.shardingscaling.core.job.sync.executor.Reporter
;
...
...
@@ -56,6 +57,21 @@ public class RealtimeDataSyncJob implements SyncJob {
mysqlBinlogReader
=
ReaderFactory
.
newInstanceLogReader
(
syncConfiguration
.
getReaderConfiguration
(),
syncConfiguration
.
getPosition
());
}
@Override
public
final
void
start
()
{
new
Thread
(
this
).
start
();
}
@Override
public
final
void
stop
()
{
mysqlBinlogReader
.
stop
();
}
@Override
public
final
MigrateProgress
getProgress
()
{
return
new
MigrateProgress
(
"REALTIME_DATA_SYNC"
,
channel
.
getCurrentLogPosition
());
}
/**
* Do something before run,mark binlog position.
*
...
...
sharding-scaling-core/src/main/java/info/avalon566/shardingscaling/core/job/sync/SyncJob.java
浏览文件 @
43360325
...
...
@@ -17,10 +17,29 @@
package
info.avalon566.shardingscaling.core.job.sync
;
import
info.avalon566.shardingscaling.core.job.MigrateProgress
;
/**
* Sync job interface.
*
* @author avalon566
*/
public
interface
SyncJob
extends
Runnable
{
/**
* Start synchronize data.
*/
void
start
();
/**
* Stop synchronize data.
*/
void
stop
();
/**
* Get synchronize progress.
*
* @return migrate progress
*/
MigrateProgress
getProgress
();
}
sharding-scaling-core/src/main/java/info/avalon566/shardingscaling/core/job/sync/executor/local/LocalSyncJobExecutor.java
浏览文件 @
43360325
...
...
@@ -35,7 +35,7 @@ public class LocalSyncJobExecutor implements SyncJobExecutor {
public
final
Reporter
execute
(
final
List
<
SyncConfiguration
>
syncConfigurations
)
{
LocalReporter
reporter
=
new
LocalReporter
();
for
(
SyncConfiguration
syncConfiguration
:
syncConfigurations
)
{
new
Thread
(
SyncJobFactory
.
createSyncJobInstance
(
syncConfiguration
,
reporter
)
).
start
();
SyncJobFactory
.
createSyncJobInstance
(
syncConfiguration
,
reporter
).
start
();
}
return
reporter
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录