Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
loit-build-common
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
loit-Infrastructure
loit-build-common
Commits
2493526c
提交
2493526c
authored
3月 03, 2020
作者:
陈世营
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
【修改】 优化 共用 zookeeper client
上级
87f4f6dc
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
40 行增加
和
5 行删除
+40
-5
LeafSegmentKeyGenerator.java
...m/loit/component/keygen/leaf/LeafSegmentKeyGenerator.java
+26
-2
LeafSegmentKeyGeneratorFactory.java
...component/keygen/leaf/LeafSegmentKeyGeneratorFactory.java
+9
-0
LeafSegmentKeyGeneratorFactoryTest.java
...onent/keygen/leaf/LeafSegmentKeyGeneratorFactoryTest.java
+5
-3
没有找到文件。
loit-build-component/loit-keygen-leaf-zk/src/main/java/com/loit/component/keygen/leaf/LeafSegmentKeyGenerator.java
浏览文件 @
2493526c
...
@@ -43,6 +43,11 @@ public final class LeafSegmentKeyGenerator implements LeafKeyGenerator {
...
@@ -43,6 +43,11 @@ public final class LeafSegmentKeyGenerator implements LeafKeyGenerator {
private
long
step
;
private
long
step
;
/**
* 是否第一次加载
*/
private
Boolean
isInit
=
true
;
@Getter
@Getter
@Setter
@Setter
private
Properties
properties
=
new
Properties
();
private
Properties
properties
=
new
Properties
();
...
@@ -60,17 +65,36 @@ public final class LeafSegmentKeyGenerator implements LeafKeyGenerator {
...
@@ -60,17 +65,36 @@ public final class LeafSegmentKeyGenerator implements LeafKeyGenerator {
@Override
@Override
public
synchronized
Comparable
<?>
generateKey
()
{
public
synchronized
Comparable
<?>
generateKey
()
{
String
leafKey
=
getLeafKey
();
String
leafKey
=
getLeafKey
();
if
(
null
==
leafRegistryCenter
)
{
if
(
isInit
)
{
initLeafSegmentKeyGenerator
(
leafKey
);
initLeafSegmentKeyGenerator
(
leafKey
);
}
else
{
}
else
{
increaseIdWhenLeafKeyStoredInCenter
(
leafKey
);
increaseIdWhenLeafKeyStoredInCenter
(
leafKey
);
}
}
isInit
=
false
;
return
id
;
return
id
;
}
}
private
void
initLeafSegmentKeyGenerator
(
final
String
leafKey
)
{
/**
* 构建zookeeper注册中心
*/
public
RegistryCenter
buidLeafRegistryCenter
()
{
RegistryCenterConfiguration
leafConfiguration
=
getRegistryCenterConfiguration
();
RegistryCenterConfiguration
leafConfiguration
=
getRegistryCenterConfiguration
();
leafRegistryCenter
=
new
RegistryCenterServiceLoader
().
load
(
leafConfiguration
);
leafRegistryCenter
=
new
RegistryCenterServiceLoader
().
load
(
leafConfiguration
);
return
leafRegistryCenter
;
}
/**
* 设置zookeeper注册中心(共用注册中心)
*/
public
void
setLeafRegistryCenter
(
RegistryCenter
registryCenter
)
{
this
.
leafRegistryCenter
=
registryCenter
;
}
private
void
initLeafSegmentKeyGenerator
(
final
String
leafKey
)
{
buidLeafRegistryCenter
();
step
=
getStep
();
step
=
getStep
();
id
=
initializeId
(
leafKey
);
id
=
initializeId
(
leafKey
);
initializeLeafKeyInCenter
(
leafKey
,
id
,
step
);
initializeLeafKeyInCenter
(
leafKey
,
id
,
step
);
...
...
loit-build-component/loit-keygen-leaf-zk/src/main/java/com/loit/component/keygen/leaf/LeafSegmentKeyGeneratorFactory.java
浏览文件 @
2493526c
package
com
.
loit
.
component
.
keygen
.
leaf
;
package
com
.
loit
.
component
.
keygen
.
leaf
;
import
com.loit.component.keygen.leaf.core.reg.RegistryCenter
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashMap
;
...
@@ -15,6 +16,8 @@ public class LeafSegmentKeyGeneratorFactory {
...
@@ -15,6 +16,8 @@ public class LeafSegmentKeyGeneratorFactory {
private
Properties
globleProperties
=
new
Properties
();
private
Properties
globleProperties
=
new
Properties
();
private
RegistryCenter
registryCenter
;
/**
/**
* 根据 leafKey 标识不同的keyGenerator
* 根据 leafKey 标识不同的keyGenerator
*/
*/
...
@@ -36,6 +39,12 @@ public class LeafSegmentKeyGeneratorFactory {
...
@@ -36,6 +39,12 @@ public class LeafSegmentKeyGeneratorFactory {
properties
.
setProperty
(
"registry.center.type"
,
globleProperties
.
getProperty
(
"registry.center.type"
,
LeafSegmentKeyGenerator
.
DEFAULT_REGISTRY_CENTER
));
properties
.
setProperty
(
"registry.center.type"
,
globleProperties
.
getProperty
(
"registry.center.type"
,
LeafSegmentKeyGenerator
.
DEFAULT_REGISTRY_CENTER
));
leafSegmentKeyGenerator
.
setProperties
(
properties
);
leafSegmentKeyGenerator
.
setProperties
(
properties
);
if
(
registryCenter
==
null
)
{
registryCenter
=
leafSegmentKeyGenerator
.
buidLeafRegistryCenter
();
}
else
{
leafSegmentKeyGenerator
.
setLeafRegistryCenter
(
registryCenter
);
}
keyGeneratorMap
.
put
(
leafKey
,
leafSegmentKeyGenerator
);
keyGeneratorMap
.
put
(
leafKey
,
leafSegmentKeyGenerator
);
}
}
...
...
loit-build-component/loit-keygen-leaf-zk/src/test/java/com/loit/component/keygen/leaf/LeafSegmentKeyGeneratorFactoryTest.java
浏览文件 @
2493526c
...
@@ -22,9 +22,11 @@ public class LeafSegmentKeyGeneratorFactoryTest {
...
@@ -22,9 +22,11 @@ public class LeafSegmentKeyGeneratorFactoryTest {
properties
.
setProperty
(
"leaf.segment.step"
,
"100"
);
properties
.
setProperty
(
"leaf.segment.step"
,
"100"
);
leafSegmentKeyGeneratorFactory
.
setGlobleProperties
(
properties
);
leafSegmentKeyGeneratorFactory
.
setGlobleProperties
(
properties
);
for
(
int
i
=
0
;
i
<
12
;
i
++)
{
for
(
int
i
=
0
;
i
<
20
;
i
++)
{
Comparable
<?>
t_order_item
=
leafSegmentKeyGeneratorFactory
.
getKeyGenerator
(
"t_order_item"
).
generateKey
();
for
(
int
j
=
0
;
j
<
50
;
j
++)
{
System
.
out
.
println
(
t_order_item
);
Comparable
<?>
t_order_item
=
leafSegmentKeyGeneratorFactory
.
getKeyGenerator
(
"t_order_item"
+
i
).
generateKey
();
System
.
out
.
println
(
"t_order_item"
+
i
+
": "
+
t_order_item
);
}
}
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论