Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
7bc11fcb
提交
7bc11fcb
authored
8月 26, 2017
作者:
xuxueli
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
执行器注册线程优化,线程销毁时主动摘除注册机器;
上级
0b4849bb
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
55 行增加
和
0 行删除
+55
-0
XXL-JOB官方文档.md
doc/XXL-JOB官方文档.md
+1
-0
XxlJobRegistryDao.java
...rc/main/java/com/xxl/job/admin/dao/XxlJobRegistryDao.java
+4
-0
AdminBizImpl.java
...ain/java/com/xxl/job/admin/service/impl/AdminBizImpl.java
+6
-0
XxlJobRegistryMapper.xml
...rc/main/resources/mybatis-mapper/XxlJobRegistryMapper.xml
+8
-0
AdminBizTest.java
...dmin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java
+7
-0
AdminBiz.java
...job-core/src/main/java/com/xxl/job/core/biz/AdminBiz.java
+8
-0
ExecutorRegistryThread.java
.../java/com/xxl/job/core/thread/ExecutorRegistryThread.java
+21
-0
没有找到文件。
doc/XXL-JOB官方文档.md
浏览文件 @
7bc11fcb
...
...
@@ -987,6 +987,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
-
4、执行器手动设置IP时将会绑定Host;
-
5、项目主页搭建,提供中英文文档;
-
6、执行器回调线程优化,线程销毁前批量回调队列中所有数据;
-
7、执行器注册线程优化,线程销毁时主动摘除注册机器;
### TODO LIST
-
1、任务权限管理:执行器为粒度分配权限,核心操作校验权限;
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobRegistryDao.java
浏览文件 @
7bc11fcb
...
...
@@ -22,4 +22,8 @@ public interface XxlJobRegistryDao {
@Param
(
"registryKey"
)
String
registryKey
,
@Param
(
"registryValue"
)
String
registryValue
);
public
int
registryDelete
(
@Param
(
"registryGroup"
)
String
registGroup
,
@Param
(
"registryKey"
)
String
registryKey
,
@Param
(
"registryValue"
)
String
registryValue
);
}
xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AdminBizImpl.java
浏览文件 @
7bc11fcb
...
...
@@ -118,4 +118,10 @@ public class AdminBizImpl implements AdminBiz {
return
ReturnT
.
SUCCESS
;
}
@Override
public
ReturnT
<
String
>
registryRemove
(
RegistryParam
registryParam
)
{
xxlJobRegistryDao
.
registryDelete
(
registryParam
.
getRegistGroup
(),
registryParam
.
getRegistryKey
(),
registryParam
.
getRegistryValue
());
return
ReturnT
.
SUCCESS
;
}
}
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobRegistryMapper.xml
浏览文件 @
7bc11fcb
...
...
@@ -43,4 +43,11 @@
VALUES( #{registryGroup} , #{registryKey} , #{registryValue}, NOW())
</insert>
<delete
id=
"registryDelete"
>
DELETE FROM XXL_JOB_QRTZ_TRIGGER_REGISTRY
WHERE registry_group = #{registryGroup}
AND registry_key = #{registryKey}
AND registry_value = #{registryValue}
</delete>
</mapper>
\ No newline at end of file
xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java
浏览文件 @
7bc11fcb
...
...
@@ -27,6 +27,13 @@ public class AdminBizTest {
ReturnT
<
String
>
returnT
=
adminBiz
.
registry
(
registryParam
);
Assert
.
assertTrue
(
returnT
.
getCode
()
==
ReturnT
.
SUCCESS_CODE
);
// test executor registry remove
registryParam
=
new
RegistryParam
(
RegistryConfig
.
RegistType
.
EXECUTOR
.
name
(),
"xxl-job-executor-example"
,
"127.0.0.1:9999"
);
returnT
=
adminBiz
.
registryRemove
(
registryParam
);
Assert
.
assertTrue
(
returnT
.
getCode
()
==
ReturnT
.
SUCCESS_CODE
);
}
}
xxl-job-core/src/main/java/com/xxl/job/core/biz/AdminBiz.java
浏览文件 @
7bc11fcb
...
...
@@ -29,4 +29,12 @@ public interface AdminBiz {
*/
public
ReturnT
<
String
>
registry
(
RegistryParam
registryParam
);
/**
* registry remove
*
* @param registryParam
* @return
*/
public
ReturnT
<
String
>
registryRemove
(
RegistryParam
registryParam
);
}
xxl-job-core/src/main/java/com/xxl/job/core/thread/ExecutorRegistryThread.java
浏览文件 @
7bc11fcb
...
...
@@ -47,6 +47,8 @@ public class ExecutorRegistryThread extends Thread {
registryThread
=
new
Thread
(
new
Runnable
()
{
@Override
public
void
run
()
{
// registry
while
(!
toStop
)
{
try
{
RegistryParam
registryParam
=
new
RegistryParam
(
RegistryConfig
.
RegistType
.
EXECUTOR
.
name
(),
appName
,
executorAddress
);
...
...
@@ -77,7 +79,26 @@ public class ExecutorRegistryThread extends Thread {
}
// registry remove
try
{
RegistryParam
registryParam
=
new
RegistryParam
(
RegistryConfig
.
RegistType
.
EXECUTOR
.
name
(),
appName
,
executorAddress
);
for
(
AdminBiz
adminBiz:
XxlJobExecutor
.
getAdminBizList
())
{
try
{
ReturnT
<
String
>
registryResult
=
adminBiz
.
registryRemove
(
registryParam
);
if
(
registryResult
!=
null
&&
ReturnT
.
SUCCESS_CODE
==
registryResult
.
getCode
())
{
registryResult
=
ReturnT
.
SUCCESS
;
logger
.
info
(
">>>>>>>>>>> xxl-job registry-remove success, registryParam:{}, registryResult:{}"
,
new
Object
[]{
registryParam
,
registryResult
});
break
;
}
else
{
logger
.
info
(
">>>>>>>>>>> xxl-job registry-remove fail, registryParam:{}, registryResult:{}"
,
new
Object
[]{
registryParam
,
registryResult
});
}
}
catch
(
Exception
e
)
{
logger
.
info
(
">>>>>>>>>>> xxl-job registry-remove error, registryParam:{}"
,
registryParam
,
e
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
}
});
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论