Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
35048a0c
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 搜索 >>
提交
35048a0c
编写于
12月 04, 2017
作者:
H
haocao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactor orchestration instance id.
上级
ecbd5b4c
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
17 addition
and
31 deletion
+17
-31
sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/internal/state/instance/InstanceListenerManager.java
...tion/internal/state/instance/InstanceListenerManager.java
+2
-2
sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/internal/state/instance/InstanceStateService.java
...tration/internal/state/instance/InstanceStateService.java
+4
-2
sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/internal/state/instance/OrchestrationInstance.java
...ration/internal/state/instance/OrchestrationInstance.java
+10
-10
sharding-jdbc-orchestration/src/test/java/io/shardingjdbc/orchestration/internal/AllInternalTests.java
...shardingjdbc/orchestration/internal/AllInternalTests.java
+1
-3
sharding-jdbc-orchestration/src/test/java/io/shardingjdbc/orchestration/internal/state/instance/OrchestrationInstanceTest.java
...on/internal/state/instance/OrchestrationInstanceTest.java
+0
-14
未找到文件。
sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/internal/state/instance/InstanceListenerManager.java
浏览文件 @
35048a0c
...
...
@@ -54,7 +54,7 @@ public final class InstanceListenerManager implements ListenerManager {
@Override
public
void
start
(
final
ShardingDataSource
shardingDataSource
)
{
regCenter
.
watch
(
stateNode
.
getInstancesNodeFullPath
(
new
Orchestration
Instance
().
getInstanceId
()),
new
EventListener
()
{
regCenter
.
watch
(
stateNode
.
getInstancesNodeFullPath
(
OrchestrationInstance
.
get
Instance
().
getInstanceId
()),
new
EventListener
()
{
@Override
public
void
onChange
(
final
DataChangedEvent
event
)
{
...
...
@@ -77,7 +77,7 @@ public final class InstanceListenerManager implements ListenerManager {
@Override
public
void
start
(
final
MasterSlaveDataSource
masterSlaveDataSource
)
{
regCenter
.
watch
(
stateNode
.
getInstancesNodeFullPath
(
new
Orchestration
Instance
().
getInstanceId
()),
new
EventListener
()
{
regCenter
.
watch
(
stateNode
.
getInstancesNodeFullPath
(
OrchestrationInstance
.
get
Instance
().
getInstanceId
()),
new
EventListener
()
{
@Override
public
void
onChange
(
final
DataChangedEvent
event
)
{
...
...
sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/internal/state/instance/InstanceStateService.java
浏览文件 @
35048a0c
...
...
@@ -31,6 +31,8 @@ public final class InstanceStateService {
private
final
RegistryCenter
regCenter
;
private
final
OrchestrationInstance
instance
=
OrchestrationInstance
.
getInstance
();
public
InstanceStateService
(
final
String
name
,
final
RegistryCenter
regCenter
)
{
stateNode
=
new
StateNode
(
name
);
this
.
regCenter
=
regCenter
;
...
...
@@ -40,13 +42,13 @@ public final class InstanceStateService {
* Persist sharding instance online.
*/
public
void
persistShardingInstanceOnline
()
{
regCenter
.
persistEphemeral
(
stateNode
.
getInstancesNodeFullPath
(
new
OrchestrationInstance
()
.
getInstanceId
()),
""
);
regCenter
.
persistEphemeral
(
stateNode
.
getInstancesNodeFullPath
(
instance
.
getInstanceId
()),
""
);
}
/**
* Persist master-salve instance online.
*/
public
void
persistMasterSlaveInstanceOnline
()
{
regCenter
.
persistEphemeral
(
stateNode
.
getInstancesNodeFullPath
(
new
OrchestrationInstance
()
.
getInstanceId
()),
""
);
regCenter
.
persistEphemeral
(
stateNode
.
getInstancesNodeFullPath
(
instance
.
getInstanceId
()),
""
);
}
}
sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/internal/state/instance/OrchestrationInstance.java
浏览文件 @
35048a0c
...
...
@@ -18,32 +18,32 @@
package
io.shardingjdbc.orchestration.internal.state.instance
;
import
io.shardingjdbc.orchestration.internal.util.IpUtils
;
import
lombok.EqualsAndHashCode
;
import
lombok.Getter
;
import
lombok.RequiredArgsConstructor
;
import
java.lang.management.ManagementFactory
;
import
java.util.UUID
;
/**
* Orchestration instance.
*
* @author zhangliang
*/
@RequiredArgsConstructor
@Getter
@EqualsAndHashCode
public
final
class
OrchestrationInstance
{
private
static
final
String
DELIMITER
=
"@-@"
;
private
static
final
String
PID_FLAG
=
"@"
;
private
static
final
OrchestrationInstance
INSTANCE
=
new
OrchestrationInstance
();
/**
* Orchestration instance id.
*/
private
final
String
instanceId
;
private
String
instanceId
;
private
OrchestrationInstance
()
{
String
splitFlag
=
"@"
;
instanceId
=
IpUtils
.
getIp
()
+
splitFlag
+
ManagementFactory
.
getRuntimeMXBean
().
getName
().
split
(
splitFlag
)[
0
]
+
splitFlag
+
UUID
.
randomUUID
().
toString
();
}
public
Orchestration
Instance
()
{
instanceId
=
IpUtils
.
getIp
()
+
DELIMITER
+
ManagementFactory
.
getRuntimeMXBean
().
getName
().
split
(
PID_FLAG
)[
0
]
;
public
static
OrchestrationInstance
get
Instance
()
{
return
INSTANCE
;
}
}
sharding-jdbc-orchestration/src/test/java/io/shardingjdbc/orchestration/internal/AllInternalTests.java
浏览文件 @
35048a0c
...
...
@@ -19,15 +19,13 @@ package io.shardingjdbc.orchestration.internal;
import
io.shardingjdbc.orchestration.internal.json.DataSourceJsonConverterTest
;
import
io.shardingjdbc.orchestration.internal.json.ShardingRuleConfigurationConverterTest
;
import
io.shardingjdbc.orchestration.internal.state.instance.OrchestrationInstanceTest
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.Suite
;
@RunWith
(
Suite
.
class
)
@Suite
.
SuiteClasses
({
DataSourceJsonConverterTest
.
class
,
ShardingRuleConfigurationConverterTest
.
class
,
OrchestrationInstanceTest
.
class
ShardingRuleConfigurationConverterTest
.
class
})
public
class
AllInternalTests
{
}
sharding-jdbc-orchestration/src/test/java/io/shardingjdbc/orchestration/internal/state/instance/OrchestrationInstanceTest.java
已删除
100644 → 0
浏览文件 @
ecbd5b4c
package
io.shardingjdbc.orchestration.internal.state.instance
;
import
org.junit.Test
;
import
static
org
.
hamcrest
.
core
.
Is
.
is
;
import
static
org
.
junit
.
Assert
.
assertThat
;
public
final
class
OrchestrationInstanceTest
{
@Test
public
void
assertGetInstanceId
()
{
assertThat
(
new
OrchestrationInstance
(
"127.0.0.1@-@0"
).
getInstanceId
(),
is
(
"127.0.0.1@-@0"
));
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录