Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
caf81712
提交
caf81712
authored
10月 02, 2016
作者:
xueli.xue
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
调度中心注册:
1、调度中心自动注册; 2、调度时,加载在线的所有调度中心地址,push给执行器,执行器获取多个执行器地址,failover方式进行回调;
上级
50cfecfc
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
28 行增加
和
13 行删除
+28
-13
RemoteHttpJobBean.java
...ava/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java
+11
-3
RequestModel.java
...main/java/com/xxl/job/core/router/model/RequestModel.java
+7
-5
TriggerCallbackThread.java
...com/xxl/job/core/router/thread/TriggerCallbackThread.java
+10
-5
没有找到文件。
xxl-job-admin/src/main/java/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java
浏览文件 @
caf81712
...
...
@@ -30,7 +30,7 @@ import java.util.*;
//@DisallowConcurrentExecution
public
class
RemoteHttpJobBean
extends
QuartzJobBean
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
RemoteHttpJobBean
.
class
);
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
...
...
@@ -43,7 +43,15 @@ public class RemoteHttpJobBean extends QuartzJobBean {
jobLog
.
setJobName
(
jobInfo
.
getJobName
());
DynamicSchedulerUtil
.
xxlJobLogDao
.
save
(
jobLog
);
logger
.
info
(
">>>>>>>>>>> xxl-job trigger start, jobId:{}"
,
jobLog
.
getId
());
// admin address
List
<
String
>
adminAddressList
=
JobRegistryHelper
.
discover
(
RegistHelper
.
RegistType
.
ADMIN
.
name
(),
RegistHelper
.
RegistType
.
ADMIN
.
name
());
Set
<
String
>
adminAddressSet
=
new
HashSet
<
String
>();
if
(
adminAddressList
!=
null
)
{
adminAddressSet
.
addAll
(
adminAddressList
);
}
adminAddressSet
.
add
(
XxlJobLogCallbackServer
.
getTrigger_log_address
());
// trigger request
RequestModel
requestModel
=
new
RequestModel
();
requestModel
.
setTimestamp
(
System
.
currentTimeMillis
());
...
...
@@ -53,7 +61,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
requestModel
.
setExecutorHandler
(
jobInfo
.
getExecutorHandler
());
requestModel
.
setExecutorParams
(
jobInfo
.
getExecutorParam
());
requestModel
.
setGlueSwitch
((
jobInfo
.
getGlueSwitch
()==
0
)?
false
:
true
);
requestModel
.
setLogAddress
(
XxlJobLogCallbackServer
.
getTrigger_log_address
()
);
requestModel
.
setLogAddress
(
adminAddressSet
);
requestModel
.
setLogId
(
jobLog
.
getId
());
// parse address
...
...
xxl-job-core/src/main/java/com/xxl/job/core/router/model/RequestModel.java
浏览文件 @
caf81712
package
com
.
xxl
.
job
.
core
.
router
.
model
;
import
java.util.Set
;
/**
* Created by xuxueli on 16/7/22.
*/
...
...
@@ -16,13 +18,14 @@ public class RequestModel {
private
boolean
glueSwitch
;
private
S
tring
logAddress
;
private
S
et
<
String
>
logAddress
;
private
int
logId
;
private
long
logDateTim
;
private
String
status
;
private
String
msg
;
public
long
getTimestamp
()
{
return
timestamp
;
}
...
...
@@ -79,11 +82,11 @@ public class RequestModel {
this
.
glueSwitch
=
glueSwitch
;
}
public
S
tring
getLogAddress
()
{
public
S
et
<
String
>
getLogAddress
()
{
return
logAddress
;
}
public
void
setLogAddress
(
S
tring
logAddress
)
{
public
void
setLogAddress
(
S
et
<
String
>
logAddress
)
{
this
.
logAddress
=
logAddress
;
}
...
...
@@ -129,12 +132,11 @@ public class RequestModel {
", executorHandler='"
+
executorHandler
+
'\''
+
", executorParams='"
+
executorParams
+
'\''
+
", glueSwitch="
+
glueSwitch
+
", logAddress=
'"
+
logAddress
+
'\''
+
", logAddress=
"
+
logAddress
+
", logId="
+
logId
+
", logDateTim="
+
logDateTim
+
", status='"
+
status
+
'\''
+
", msg='"
+
msg
+
'\''
+
'}'
;
}
}
xxl-job-core/src/main/java/com/xxl/job/core/router/thread/TriggerCallbackThread.java
浏览文件 @
caf81712
...
...
@@ -23,11 +23,16 @@ public class TriggerCallbackThread {
try
{
RequestModel
callback
=
callBackQueue
.
take
();
if
(
callback
!=
null
)
{
try
{
ResponseModel
responseModel
=
XxlJobNetCommUtil
.
postHex
(
XxlJobNetCommUtil
.
addressToUrl
(
callback
.
getLogAddress
()),
callback
);
logger
.
info
(
">>>>>>>>>>> xxl-job callback , RequestModel:{}, ResponseModel:{}"
,
new
Object
[]{
callback
.
toString
(),
responseModel
.
toString
()});
}
catch
(
Exception
e
)
{
logger
.
info
(
"JobThread Exception:"
,
e
);
for
(
String
address
:
callback
.
getLogAddress
())
{
try
{
ResponseModel
responseModel
=
XxlJobNetCommUtil
.
postHex
(
XxlJobNetCommUtil
.
addressToUrl
(
address
),
callback
);
logger
.
info
(
">>>>>>>>>>> xxl-job callback , RequestModel:{}, ResponseModel:{}"
,
new
Object
[]{
callback
.
toString
(),
responseModel
.
toString
()});
if
(
ResponseModel
.
SUCCESS
.
equals
(
responseModel
.
getStatus
()))
{
break
;
}
}
catch
(
Exception
e
)
{
logger
.
info
(
"JobThread Exception:"
,
e
);
}
}
}
}
catch
(
Exception
e
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论