Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
粉色的八爪鱼
xxl-job
提交
02818b4d
X
xxl-job
项目概览
粉色的八爪鱼
/
xxl-job
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
xxl-job
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
02818b4d
编写于
7月 28, 2017
作者:
许雪里
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
心跳注册和结果回调,重试逻辑优化
上级
f83346de
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
49 addition
and
9 deletion
+49
-9
doc/XXL-JOB官方文档.md
doc/XXL-JOB官方文档.md
+1
-0
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java
...n/java/com/xxl/job/admin/controller/JobApiController.java
+2
-1
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
...n/java/com/xxl/job/admin/controller/JobLogController.java
+9
-6
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouter.java
...ain/java/com/xxl/job/admin/core/route/ExecutorRouter.java
+1
-1
xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java
...dmin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java
+31
-0
xxl-job-core/src/main/java/com/xxl/job/core/biz/AdminBiz.java
...job-core/src/main/java/com/xxl/job/core/biz/AdminBiz.java
+2
-0
xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java
...c/main/java/com/xxl/job/core/executor/XxlJobExecutor.java
+1
-1
xxl-job-executor-example/src/test/java/com/xxl/executor/test/DemoJobHandlerTest.java
...c/test/java/com/xxl/executor/test/DemoJobHandlerTest.java
+2
-0
未找到文件。
doc/XXL-JOB官方文档.md
浏览文件 @
02818b4d
...
...
@@ -903,6 +903,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
-
4、执行器集群地址列表进行自然排序;
-
5、调度中心,DAO层代码精简优化并且新增测试用例覆盖;
-
6、调度中心API服务改为自研RPC形式,统一底层通讯模型;
-
7、新增调度中心API服务测试Demo,方便在调度中心API扩展和测试;
#### TODO LIST
-
1、任务权限管理:执行器为粒度分配权限,核心操作校验权限;
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java
浏览文件 @
02818b4d
package
com.xxl.job.admin.controller
;
import
com.xxl.job.admin.controller.annotation.PermessionLimit
;
import
com.xxl.job.core.biz.AdminBiz
;
import
com.xxl.job.core.rpc.codec.RpcRequest
;
import
com.xxl.job.core.rpc.codec.RpcResponse
;
import
com.xxl.job.core.rpc.netcom.NetComServerFactory
;
...
...
@@ -46,7 +47,7 @@ public class JobApiController {
}
}
@RequestMapping
(
"/api"
)
@RequestMapping
(
AdminBiz
.
MAPPING
)
@PermessionLimit
(
limit
=
false
)
public
void
api
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
IOException
{
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
浏览文件 @
02818b4d
...
...
@@ -12,6 +12,8 @@ import com.xxl.job.core.biz.model.ReturnT;
import
com.xxl.job.core.rpc.netcom.NetComClientProxy
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.time.DateUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -32,6 +34,7 @@ import java.util.Map;
@Controller
@RequestMapping
(
"/joblog"
)
public
class
JobLogController
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
JobLogController
.
class
);
@Resource
private
XxlJobGroupDao
xxlJobGroupDao
;
...
...
@@ -129,7 +132,7 @@ public class JobLogController {
return
logResult
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
logger
.
error
(
e
.
getMessage
(),
e
);
return
new
ReturnT
<
LogResult
>(
ReturnT
.
FAIL_CODE
,
e
.
getMessage
());
}
}
...
...
@@ -148,14 +151,14 @@ public class JobLogController {
}
// request of kill
ExecutorBiz
executorBiz
=
null
;
ReturnT
<
String
>
runResult
=
null
;
try
{
executorBiz
=
(
ExecutorBiz
)
new
NetComClientProxy
(
ExecutorBiz
.
class
,
log
.
getExecutorAddress
()).
getObject
();
ExecutorBiz
executorBiz
=
(
ExecutorBiz
)
new
NetComClientProxy
(
ExecutorBiz
.
class
,
log
.
getExecutorAddress
()).
getObject
();
runResult
=
executorBiz
.
kill
(
jobInfo
.
getId
());
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
r
eturn
new
ReturnT
<
String
>(
500
,
e
.
getMessage
());
logger
.
error
(
e
.
getMessage
(),
e
);
r
unResult
=
new
ReturnT
<
String
>(
500
,
e
.
getMessage
());
}
ReturnT
<
String
>
runResult
=
executorBiz
.
kill
(
jobInfo
.
getId
());
if
(
ReturnT
.
SUCCESS_CODE
==
runResult
.
getCode
())
{
log
.
setHandleCode
(
ReturnT
.
FAIL_CODE
);
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouter.java
浏览文件 @
02818b4d
...
...
@@ -36,7 +36,7 @@ public abstract class ExecutorRouter {
ExecutorBiz
executorBiz
=
(
ExecutorBiz
)
new
NetComClientProxy
(
ExecutorBiz
.
class
,
address
).
getObject
();
runResult
=
executorBiz
.
run
(
triggerParam
);
}
catch
(
Exception
e
)
{
logger
.
error
(
""
,
e
);
logger
.
error
(
e
.
getMessage
()
,
e
);
runResult
=
new
ReturnT
<
String
>(
ReturnT
.
FAIL_CODE
,
""
+
e
);
}
...
...
xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java
0 → 100644
浏览文件 @
02818b4d
package
com.xxl.job.dao.impl
;
import
com.xxl.job.core.biz.AdminBiz
;
import
com.xxl.job.core.biz.model.RegistryParam
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.enums.RegistryConfig
;
import
com.xxl.job.core.rpc.netcom.NetComClientProxy
;
import
org.junit.Assert
;
import
org.junit.Test
;
/**
* admin-api client, test
* @author xuxueli 2017-07-28 22:14:52
*/
public
class
AdminBizTest
{
@Test
public
void
registryTest
()
throws
Exception
{
// admin-client
String
addressUrl
=
"http://127.0.0.1:8080/xxl-job-admin"
.
concat
(
AdminBiz
.
MAPPING
);
AdminBiz
adminBiz
=
(
AdminBiz
)
new
NetComClientProxy
(
AdminBiz
.
class
,
addressUrl
).
getObject
();
// test executor registry
RegistryParam
registryParam
=
new
RegistryParam
(
RegistryConfig
.
RegistType
.
EXECUTOR
.
name
(),
"xxl-job-executor-example"
,
"127.0.0.1:9999"
);
ReturnT
<
String
>
returnT
=
adminBiz
.
registry
(
registryParam
);
Assert
.
assertTrue
(
returnT
.
getCode
()
==
ReturnT
.
SUCCESS_CODE
);
}
}
xxl-job-core/src/main/java/com/xxl/job/core/biz/AdminBiz.java
浏览文件 @
02818b4d
...
...
@@ -11,6 +11,8 @@ import java.util.List;
*/
public
interface
AdminBiz
{
public
static
final
String
MAPPING
=
"/api"
;
/**
* callback
*
...
...
xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java
浏览文件 @
02818b4d
...
...
@@ -58,7 +58,7 @@ public class XxlJobExecutor implements ApplicationContextAware, ApplicationListe
if
(
adminAddresses
!=
null
&&
adminAddresses
.
trim
().
length
()>
0
)
{
for
(
String
address:
adminAddresses
.
trim
().
split
(
","
))
{
if
(
address
!=
null
&&
address
.
trim
().
length
()>
0
)
{
String
addressUrl
=
address
.
concat
(
"/api"
);
String
addressUrl
=
address
.
concat
(
AdminBiz
.
MAPPING
);
AdminBiz
adminBiz
=
(
AdminBiz
)
new
NetComClientProxy
(
AdminBiz
.
class
,
addressUrl
).
getObject
();
if
(
adminBizList
==
null
)
{
adminBizList
=
new
ArrayList
<
AdminBiz
>();
...
...
xxl-job-executor-example/src/test/java/com/xxl/executor/test/DemoJobHandlerTest.java
浏览文件 @
02818b4d
...
...
@@ -8,6 +8,8 @@ import com.xxl.job.core.glue.GlueTypeEnum;
import
com.xxl.job.core.rpc.netcom.NetComClientProxy
;
/**
* executor-api client, test
*
* Created by xuxueli on 17/5/12.
*/
public
class
DemoJobHandlerTest
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录