Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
53fd312d
提交
53fd312d
authored
3月 12, 2016
作者:
xueli.xue
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
HTTP远程调度交互重构
上级
1b6b8c20
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
84 行增加
和
76 行删除
+84
-76
JobLogController.java
...rc/main/java/com/xxl/job/controller/JobLogController.java
+7
-4
JobMonitorHelper.java
...c/main/java/com/xxl/job/core/thread/JobMonitorHelper.java
+4
-4
LocalNomalJobBean.java
.../main/java/com/xxl/job/service/job/LocalNomalJobBean.java
+4
-4
RemoteHttpJobBean.java
.../main/java/com/xxl/job/service/job/RemoteHttpJobBean.java
+11
-20
XxlJobLogTest.java
...min/src/test/java/com/xxl/job/dao/impl/XxlJobLogTest.java
+2
-2
HandlerRepository.java
...in/java/com/xxl/job/client/handler/HandlerRepository.java
+9
-16
HandlerThread.java
...c/main/java/com/xxl/job/client/handler/HandlerThread.java
+7
-6
HttpUtil.java
...lient/src/main/java/com/xxl/job/client/util/HttpUtil.java
+40
-20
没有找到文件。
xxl-job-admin/src/main/java/com/xxl/job/controller/JobLogController.java
浏览文件 @
53fd312d
...
@@ -16,8 +16,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
...
@@ -16,8 +16,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
com.xxl.job.client.util.HttpUtil.RemoteCallBack
;
import
com.xxl.job.core.constant.Constants.JobGroupEnum
;
import
com.xxl.job.core.constant.Constants.JobGroupEnum
;
import
com.xxl.job.core.model.ReturnT
;
import
com.xxl.job.core.model.XxlJobLog
;
import
com.xxl.job.core.model.XxlJobLog
;
import
com.xxl.job.dao.IXxlJobLogDao
;
import
com.xxl.job.dao.IXxlJobLogDao
;
...
@@ -73,16 +73,19 @@ public class JobLogController {
...
@@ -73,16 +73,19 @@ public class JobLogController {
@RequestMapping
(
"/save"
)
@RequestMapping
(
"/save"
)
@ResponseBody
@ResponseBody
public
ReturnT
<
String
>
triggerLog
(
int
trigger_log_id
,
String
status
,
String
msg
)
{
public
RemoteCallBack
triggerLog
(
int
trigger_log_id
,
String
status
,
String
msg
)
{
RemoteCallBack
callBack
=
new
RemoteCallBack
();
callBack
.
setStatus
(
RemoteCallBack
.
FAIL
);
XxlJobLog
log
=
xxlJobLogDao
.
load
(
trigger_log_id
);
XxlJobLog
log
=
xxlJobLogDao
.
load
(
trigger_log_id
);
if
(
log
!=
null
)
{
if
(
log
!=
null
)
{
log
.
setHandleTime
(
new
Date
());
log
.
setHandleTime
(
new
Date
());
log
.
setHandleStatus
(
status
);
log
.
setHandleStatus
(
status
);
log
.
setHandleMsg
(
msg
);
log
.
setHandleMsg
(
msg
);
xxlJobLogDao
.
updateHandleInfo
(
log
);
xxlJobLogDao
.
updateHandleInfo
(
log
);
return
ReturnT
.
SUCCESS
;
callBack
.
setStatus
(
RemoteCallBack
.
SUCCESS
);
return
callBack
;
}
}
return
ReturnT
.
FAIL
;
return
callBack
;
}
}
}
}
xxl-job-admin/src/main/java/com/xxl/job/core/thread/JobMonitorHelper.java
浏览文件 @
53fd312d
...
@@ -11,7 +11,7 @@ import org.apache.commons.lang.StringUtils;
...
@@ -11,7 +11,7 @@ import org.apache.commons.lang.StringUtils;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
com.xxl.job.client.util.HttpUtil
;
import
com.xxl.job.client.util.HttpUtil
.RemoteCallBack
;
import
com.xxl.job.core.model.XxlJobInfo
;
import
com.xxl.job.core.model.XxlJobInfo
;
import
com.xxl.job.core.model.XxlJobLog
;
import
com.xxl.job.core.model.XxlJobLog
;
import
com.xxl.job.core.util.DynamicSchedulerUtil
;
import
com.xxl.job.core.util.DynamicSchedulerUtil
;
...
@@ -40,13 +40,13 @@ public class JobMonitorHelper {
...
@@ -40,13 +40,13 @@ public class JobMonitorHelper {
if
(
jobLogId
!=
null
&&
jobLogId
>
0
)
{
if
(
jobLogId
!=
null
&&
jobLogId
>
0
)
{
XxlJobLog
log
=
DynamicSchedulerUtil
.
xxlJobLogDao
.
load
(
jobLogId
);
XxlJobLog
log
=
DynamicSchedulerUtil
.
xxlJobLogDao
.
load
(
jobLogId
);
if
(
log
!=
null
)
{
if
(
log
!=
null
)
{
if
(
HttpUtil
.
SUCCESS
.
equals
(
log
.
getTriggerStatus
())
&&
StringUtils
.
isBlank
(
log
.
getHandleStatus
()))
{
if
(
RemoteCallBack
.
SUCCESS
.
equals
(
log
.
getTriggerStatus
())
&&
StringUtils
.
isBlank
(
log
.
getHandleStatus
()))
{
JobMonitorHelper
.
monitor
(
jobLogId
);
JobMonitorHelper
.
monitor
(
jobLogId
);
}
}
if
(
HttpUtil
.
SUCCESS
.
equals
(
log
.
getTriggerStatus
())
&&
HttpUtil
.
SUCCESS
.
equals
(
log
.
getHandleStatus
()))
{
if
(
RemoteCallBack
.
SUCCESS
.
equals
(
log
.
getTriggerStatus
())
&&
RemoteCallBack
.
SUCCESS
.
equals
(
log
.
getHandleStatus
()))
{
// pass
// pass
}
}
if
(
HttpUtil
.
FAIL
.
equals
(
log
.
getTriggerStatus
())
||
HttpUtil
.
FAIL
.
equals
(
log
.
getHandleStatus
()))
{
if
(
RemoteCallBack
.
FAIL
.
equals
(
log
.
getTriggerStatus
())
||
RemoteCallBack
.
FAIL
.
equals
(
log
.
getHandleStatus
()))
{
String
monotorKey
=
log
.
getJobGroup
().
concat
(
"_"
).
concat
(
log
.
getJobName
());
String
monotorKey
=
log
.
getJobGroup
().
concat
(
"_"
).
concat
(
log
.
getJobName
());
Integer
count
=
countMap
.
get
(
monotorKey
);
Integer
count
=
countMap
.
get
(
monotorKey
);
if
(
count
==
null
)
{
if
(
count
==
null
)
{
...
...
xxl-job-admin/src/main/java/com/xxl/job/service/job/LocalNomalJobBean.java
浏览文件 @
53fd312d
...
@@ -15,7 +15,7 @@ import org.slf4j.LoggerFactory;
...
@@ -15,7 +15,7 @@ import org.slf4j.LoggerFactory;
import
org.springframework.scheduling.quartz.QuartzJobBean
;
import
org.springframework.scheduling.quartz.QuartzJobBean
;
import
com.xxl.job.client.handler.HandlerRepository
;
import
com.xxl.job.client.handler.HandlerRepository
;
import
com.xxl.job.client.util.HttpUtil
;
import
com.xxl.job.client.util.HttpUtil
.RemoteCallBack
;
import
com.xxl.job.client.util.JacksonUtil
;
import
com.xxl.job.client.util.JacksonUtil
;
import
com.xxl.job.core.model.XxlJobInfo
;
import
com.xxl.job.core.model.XxlJobInfo
;
import
com.xxl.job.core.model.XxlJobLog
;
import
com.xxl.job.core.model.XxlJobLog
;
...
@@ -60,14 +60,14 @@ public abstract class LocalNomalJobBean extends QuartzJobBean {
...
@@ -60,14 +60,14 @@ public abstract class LocalNomalJobBean extends QuartzJobBean {
}
}
jobLog
.
setTriggerTime
(
new
Date
());
jobLog
.
setTriggerTime
(
new
Date
());
jobLog
.
setTriggerStatus
(
HttpUtil
.
SUCCESS
);
jobLog
.
setTriggerStatus
(
RemoteCallBack
.
SUCCESS
);
jobLog
.
setTriggerMsg
(
null
);
jobLog
.
setTriggerMsg
(
null
);
try
{
try
{
Object
responseMsg
=
this
.
handle
(
handlerParams
);
Object
responseMsg
=
this
.
handle
(
handlerParams
);
jobLog
.
setHandleTime
(
new
Date
());
jobLog
.
setHandleTime
(
new
Date
());
jobLog
.
setHandleStatus
(
HttpUtil
.
SUCCESS
);
jobLog
.
setHandleStatus
(
RemoteCallBack
.
SUCCESS
);
jobLog
.
setHandleMsg
(
JacksonUtil
.
writeValueAsString
(
responseMsg
));
jobLog
.
setHandleMsg
(
JacksonUtil
.
writeValueAsString
(
responseMsg
));
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
logger
.
info
(
"HandlerThread Exception:"
,
e
);
logger
.
info
(
"HandlerThread Exception:"
,
e
);
...
@@ -75,7 +75,7 @@ public abstract class LocalNomalJobBean extends QuartzJobBean {
...
@@ -75,7 +75,7 @@ public abstract class LocalNomalJobBean extends QuartzJobBean {
e
.
printStackTrace
(
new
PrintWriter
(
out
));
e
.
printStackTrace
(
new
PrintWriter
(
out
));
jobLog
.
setHandleTime
(
new
Date
());
jobLog
.
setHandleTime
(
new
Date
());
jobLog
.
setHandleStatus
(
HttpUtil
.
FAIL
);
jobLog
.
setHandleStatus
(
RemoteCallBack
.
FAIL
);
jobLog
.
setHandleMsg
(
out
.
toString
());
jobLog
.
setHandleMsg
(
out
.
toString
());
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/service/job/RemoteHttpJobBean.java
浏览文件 @
53fd312d
...
@@ -4,7 +4,6 @@ import java.util.Date;
...
@@ -4,7 +4,6 @@ import java.util.Date;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
import
org.apache.commons.lang.StringUtils
;
import
org.quartz.DisallowConcurrentExecution
;
import
org.quartz.DisallowConcurrentExecution
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
import
org.quartz.JobExecutionException
;
...
@@ -15,6 +14,7 @@ import org.springframework.scheduling.quartz.QuartzJobBean;
...
@@ -15,6 +14,7 @@ import org.springframework.scheduling.quartz.QuartzJobBean;
import
com.xxl.job.client.handler.HandlerRepository
;
import
com.xxl.job.client.handler.HandlerRepository
;
import
com.xxl.job.client.util.HttpUtil
;
import
com.xxl.job.client.util.HttpUtil
;
import
com.xxl.job.client.util.HttpUtil.RemoteCallBack
;
import
com.xxl.job.client.util.JacksonUtil
;
import
com.xxl.job.client.util.JacksonUtil
;
import
com.xxl.job.core.model.XxlJobInfo
;
import
com.xxl.job.core.model.XxlJobInfo
;
import
com.xxl.job.core.model.XxlJobLog
;
import
com.xxl.job.core.model.XxlJobLog
;
...
@@ -60,35 +60,25 @@ public class RemoteHttpJobBean extends QuartzJobBean {
...
@@ -60,35 +60,25 @@ public class RemoteHttpJobBean extends QuartzJobBean {
params
.
put
(
HandlerRepository
.
HANDLER_NAME
,
jobDataMap
.
get
(
HandlerRepository
.
HANDLER_NAME
));
params
.
put
(
HandlerRepository
.
HANDLER_NAME
,
jobDataMap
.
get
(
HandlerRepository
.
HANDLER_NAME
));
params
.
put
(
HandlerRepository
.
HANDLER_PARAMS
,
jobDataMap
.
get
(
HandlerRepository
.
HANDLER_PARAMS
));
params
.
put
(
HandlerRepository
.
HANDLER_PARAMS
,
jobDataMap
.
get
(
HandlerRepository
.
HANDLER_PARAMS
));
// handler address,
n
etty or servlet
// handler address,
j
etty or servlet
String
handler_address
=
jobDataMap
.
get
(
HandlerRepository
.
HANDLER_ADDRESS
);
String
handler_address
=
jobDataMap
.
get
(
HandlerRepository
.
HANDLER_ADDRESS
);
if
(!
handler_address
.
startsWith
(
"http"
)){
if
(!
handler_address
.
startsWith
(
"http"
)){
handler_address
=
"http://"
+
handler_address
+
"/"
;
handler_address
=
"http://"
+
handler_address
+
"/"
;
}
}
String
[]
postResp
=
HttpUtil
.
post
(
handler_address
,
params
);
RemoteCallBack
callback
=
HttpUtil
.
post
(
handler_address
,
params
);
logger
.
info
(
">>>>>>>>>>> xxl-job trigger http response, jobLog.id:{}, jobLog:{}
"
,
jobLog
.
getId
(),
jobLog
);
logger
.
info
(
">>>>>>>>>>> xxl-job trigger http response, jobLog.id:{}, jobLog:{}
, callback:{}"
,
jobLog
.
getId
(),
jobLog
,
callback
);
// parse trigger response
String
responseMsg
=
postResp
[
0
];
String
exceptionMsg
=
postResp
[
1
];
jobLog
.
setTriggerTime
(
new
Date
());
jobLog
.
setTriggerStatus
(
HttpUtil
.
FAIL
);
jobLog
.
setTriggerMsg
(
"[responseMsg]:"
+
responseMsg
+
"<br>[exceptionMsg]:"
+
exceptionMsg
);
if
(
StringUtils
.
isNotBlank
(
responseMsg
)
&&
responseMsg
.
indexOf
(
"{"
)>-
1
)
{
Map
<
String
,
String
>
responseMap
=
JacksonUtil
.
readValue
(
responseMsg
,
Map
.
class
);
if
(
responseMap
!=
null
&&
StringUtils
.
isNotBlank
(
responseMap
.
get
(
HttpUtil
.
status
)))
{
jobLog
.
setTriggerStatus
(
responseMap
.
get
(
HttpUtil
.
status
));
jobLog
.
setTriggerMsg
(
responseMap
.
get
(
HttpUtil
.
msg
));
}
}
// update trigger info
// update trigger info
jobLog
.
setTriggerTime
(
new
Date
());
jobLog
.
setTriggerStatus
(
callback
.
getStatus
());
jobLog
.
setTriggerMsg
(
callback
.
getMsg
());
DynamicSchedulerUtil
.
xxlJobLogDao
.
updateTriggerInfo
(
jobLog
);
DynamicSchedulerUtil
.
xxlJobLogDao
.
updateTriggerInfo
(
jobLog
);
// monitor triger
JobMonitorHelper
.
monitor
(
jobLog
.
getId
());
JobMonitorHelper
.
monitor
(
jobLog
.
getId
());
logger
.
info
(
">>>>>>>>>>> xxl-job trigger end, jobLog.id:{}, jobLog:{}"
,
jobLog
.
getId
(),
jobLog
);
logger
.
info
(
">>>>>>>>>>> xxl-job trigger end, jobLog.id:{}, jobLog:{}"
,
jobLog
.
getId
(),
jobLog
);
}
}
}
}
\ No newline at end of file
xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogTest.java
浏览文件 @
53fd312d
...
@@ -11,7 +11,7 @@ import org.springframework.test.context.ContextConfiguration;
...
@@ -11,7 +11,7 @@ import org.springframework.test.context.ContextConfiguration;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
com.xxl.job.client.handler.IJobHandler
;
import
com.xxl.job.client.handler.IJobHandler
;
import
com.xxl.job.client.util.HttpUtil
;
import
com.xxl.job.client.util.HttpUtil
.RemoteCallBack
;
import
com.xxl.job.core.model.XxlJobLog
;
import
com.xxl.job.core.model.XxlJobLog
;
import
com.xxl.job.dao.IXxlJobLogDao
;
import
com.xxl.job.dao.IXxlJobLogDao
;
...
@@ -41,7 +41,7 @@ public class XxlJobLogTest {
...
@@ -41,7 +41,7 @@ public class XxlJobLogTest {
public
void
updateTriggerInfo
(){
public
void
updateTriggerInfo
(){
XxlJobLog
xxlJobLog
=
xxlJobLogDao
.
load
(
29
);
XxlJobLog
xxlJobLog
=
xxlJobLogDao
.
load
(
29
);
xxlJobLog
.
setTriggerTime
(
new
Date
());
xxlJobLog
.
setTriggerTime
(
new
Date
());
xxlJobLog
.
setTriggerStatus
(
HttpUtil
.
SUCCESS
);
xxlJobLog
.
setTriggerStatus
(
RemoteCallBack
.
SUCCESS
);
xxlJobLog
.
setTriggerMsg
(
"trigger msg"
);
xxlJobLog
.
setTriggerMsg
(
"trigger msg"
);
xxlJobLogDao
.
updateTriggerInfo
(
xxlJobLog
);
xxlJobLogDao
.
updateTriggerInfo
(
xxlJobLog
);
}
}
...
...
xxl-job-client/src/main/java/com/xxl/job/client/handler/HandlerRepository.java
浏览文件 @
53fd312d
package
com
.
xxl
.
job
.
client
.
handler
;
package
com
.
xxl
.
job
.
client
.
handler
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
com.xxl.job.client.util.HttpUtil
;
import
com.xxl.job.client.util.HttpUtil
.RemoteCallBack
;
import
com.xxl.job.client.util.JacksonUtil
;
import
com.xxl.job.client.util.JacksonUtil
;
/**
/**
...
@@ -38,9 +37,9 @@ public class HandlerRepository {
...
@@ -38,9 +37,9 @@ public class HandlerRepository {
public
static
String
pushHandleQueue
(
Map
<
String
,
String
>
_param
)
{
public
static
String
pushHandleQueue
(
Map
<
String
,
String
>
_param
)
{
logger
.
info
(
">>>>>>>>>>> xxl-job pushHandleQueue start, _param:{}"
,
new
Object
[]{
_param
});
logger
.
info
(
">>>>>>>>>>> xxl-job pushHandleQueue start, _param:{}"
,
new
Object
[]{
_param
});
//
result
//
callback
String
_status
=
HttpUtil
.
FAIL
;
RemoteCallBack
callback
=
new
RemoteCallBack
()
;
String
_msg
=
""
;
callback
.
setStatus
(
RemoteCallBack
.
FAIL
)
;
// push data to queue
// push data to queue
String
handler_name
=
_param
.
get
(
HandlerRepository
.
HANDLER_NAME
);
String
handler_name
=
_param
.
get
(
HandlerRepository
.
HANDLER_NAME
);
...
@@ -48,22 +47,16 @@ public class HandlerRepository {
...
@@ -48,22 +47,16 @@ public class HandlerRepository {
HandlerThread
handlerThread
=
handlerTreadMap
.
get
(
handler_name
);
HandlerThread
handlerThread
=
handlerTreadMap
.
get
(
handler_name
);
if
(
handlerThread
!=
null
)
{
if
(
handlerThread
!=
null
)
{
handlerThread
.
pushData
(
_param
);
handlerThread
.
pushData
(
_param
);
_status
=
HttpUtil
.
SUCCESS
;
callback
.
setStatus
(
RemoteCallBack
.
SUCCESS
)
;
}
else
{
}
else
{
_msg
=
"handler not found."
;
callback
.
setMsg
(
"handler["
+
handler_name
+
"] not found."
)
;
}
}
}
else
{
}
else
{
_msg
=
"param[HANDLER_NAME] not exists."
;
callback
.
setMsg
(
"param[HANDLER_NAME] can not be null."
)
;
}
}
logger
.
info
(
">>>>>>>>>>> xxl-job pushHandleQueue end, triggerData:{}"
,
new
Object
[]{
callback
});
HashMap
<
String
,
String
>
triggerData
=
new
HashMap
<
String
,
String
>();
return
JacksonUtil
.
writeValueAsString
(
callback
);
triggerData
.
put
(
HandlerRepository
.
TRIGGER_LOG_ID
,
_param
.
get
(
HandlerRepository
.
TRIGGER_LOG_ID
));
triggerData
.
put
(
HttpUtil
.
status
,
_status
);
triggerData
.
put
(
HttpUtil
.
msg
,
_msg
);
logger
.
info
(
">>>>>>>>>>> xxl-job pushHandleQueue end, triggerData:{}"
,
new
Object
[]{
triggerData
});
return
JacksonUtil
.
writeValueAsString
(
triggerData
);
}
}
}
}
xxl-job-client/src/main/java/com/xxl/job/client/handler/HandlerThread.java
浏览文件 @
53fd312d
...
@@ -12,6 +12,7 @@ import org.slf4j.LoggerFactory;
...
@@ -12,6 +12,7 @@ import org.slf4j.LoggerFactory;
import
com.xxl.job.client.handler.IJobHandler.JobHandleStatus
;
import
com.xxl.job.client.handler.IJobHandler.JobHandleStatus
;
import
com.xxl.job.client.util.HttpUtil
;
import
com.xxl.job.client.util.HttpUtil
;
import
com.xxl.job.client.util.HttpUtil.RemoteCallBack
;
/**
/**
* handler thread
* handler thread
...
@@ -65,19 +66,19 @@ public class HandlerThread extends Thread{
...
@@ -65,19 +66,19 @@ public class HandlerThread extends Thread{
}
}
// callback handler info
// callback handler info
String
callback_response
[]
=
null
;
RemoteCallBack
callback
=
null
;
try
{
try
{
HashMap
<
String
,
String
>
params
=
new
HashMap
<
String
,
String
>();
HashMap
<
String
,
String
>
params
=
new
HashMap
<
String
,
String
>();
params
.
put
(
HandlerRepository
.
TRIGGER_LOG_ID
,
trigger_log_id
);
params
.
put
(
HandlerRepository
.
TRIGGER_LOG_ID
,
trigger_log_id
);
params
.
put
(
HttpUtil
.
status
,
_status
.
name
());
params
.
put
(
"status"
,
_status
.
name
());
params
.
put
(
HttpUtil
.
msg
,
_msg
);
params
.
put
(
"msg"
,
_msg
);
callback
_response
=
HttpUtil
.
post
(
trigger_log_url
,
params
);
callback
=
HttpUtil
.
post
(
trigger_log_url
,
params
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
logger
.
info
(
"HandlerThread Exception:"
,
e
);
logger
.
info
(
"HandlerThread Exception:"
,
e
);
}
}
logger
.
info
(
"<<<<<<<<<<< xxl-job thread handle, handlerData:{}, callback_status:{}, callback_msg:{}, callback
_response
:{}, thread:{}"
,
logger
.
info
(
"<<<<<<<<<<< xxl-job thread handle, handlerData:{}, callback_status:{}, callback_msg:{}, callback:{}, thread:{}"
,
new
Object
[]{
handlerData
,
_status
,
_msg
,
callback
_response
,
this
});
new
Object
[]{
handlerData
,
_status
,
_msg
,
callback
,
this
});
}
else
{
}
else
{
try
{
try
{
TimeUnit
.
MILLISECONDS
.
sleep
(
i
*
100
);
TimeUnit
.
MILLISECONDS
.
sleep
(
i
*
100
);
...
...
xxl-job-client/src/main/java/com/xxl/job/client/util/HttpUtil.java
浏览文件 @
53fd312d
...
@@ -25,12 +25,28 @@ import org.apache.http.util.EntityUtils;
...
@@ -25,12 +25,28 @@ import org.apache.http.util.EntityUtils;
*/
*/
public
class
HttpUtil
{
public
class
HttpUtil
{
// response param
/**
public
static
final
String
status
=
"status"
;
* http remote callback
public
static
final
String
msg
=
"msg"
;
*/
// response status enum
public
static
class
RemoteCallBack
{
public
static
final
String
SUCCESS
=
"SUCCESS"
;
public
static
final
String
SUCCESS
=
"SUCCESS"
;
public
static
final
String
FAIL
=
"FAIL"
;
public
static
final
String
FAIL
=
"FAIL"
;
private
String
status
;
private
String
msg
;
public
void
setStatus
(
String
status
)
{
this
.
status
=
status
;
}
public
String
getStatus
()
{
return
status
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
public
String
getMsg
()
{
return
msg
;
}
}
/**
/**
* http post request
* http post request
...
@@ -38,9 +54,9 @@ public class HttpUtil {
...
@@ -38,9 +54,9 @@ public class HttpUtil {
* @param params
* @param params
* @return [0]=responseMsg, [1]=exceptionMsg
* @return [0]=responseMsg, [1]=exceptionMsg
*/
*/
public
static
String
[]
post
(
String
reqURL
,
Map
<
String
,
String
>
params
){
public
static
RemoteCallBack
post
(
String
reqURL
,
Map
<
String
,
String
>
params
){
String
responseMsg
=
null
;
RemoteCallBack
callback
=
new
RemoteCallBack
()
;
String
exceptionMsg
=
null
;
callback
.
setStatus
(
RemoteCallBack
.
FAIL
)
;
// do post
// do post
HttpPost
httpPost
=
null
;
HttpPost
httpPost
=
null
;
...
@@ -60,18 +76,25 @@ public class HttpUtil {
...
@@ -60,18 +76,25 @@ public class HttpUtil {
HttpResponse
response
=
httpClient
.
execute
(
httpPost
);
HttpResponse
response
=
httpClient
.
execute
(
httpPost
);
HttpEntity
entity
=
response
.
getEntity
();
HttpEntity
entity
=
response
.
getEntity
();
if
(
null
!=
entity
)
{
if
(
response
.
getStatusLine
().
getStatusCode
()
==
200
)
{
responseMsg
=
EntityUtils
.
toString
(
entity
,
"UTF-8"
);
if
(
null
!=
entity
)
{
EntityUtils
.
consume
(
entity
);
String
responseMsg
=
EntityUtils
.
toString
(
entity
,
"UTF-8"
);
}
callback
=
JacksonUtil
.
readValue
(
responseMsg
,
RemoteCallBack
.
class
);
if
(
response
.
getStatusLine
().
getStatusCode
()
!=
200
)
{
if
(
callback
==
null
)
{
exceptionMsg
=
"response.getStatusLine().getStatusCode() = "
+
response
.
getStatusLine
().
getStatusCode
();
callback
=
new
RemoteCallBack
();
callback
.
setStatus
(
RemoteCallBack
.
FAIL
);
callback
.
setMsg
(
"responseMsg parse json fail, responseMsg:"
+
responseMsg
);
}
EntityUtils
.
consume
(
entity
);
}
}
else
{
callback
.
setMsg
(
"http statusCode error, statusCode:"
+
response
.
getStatusLine
().
getStatusCode
());
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
StringWriter
out
=
new
StringWriter
();
StringWriter
out
=
new
StringWriter
();
e
.
printStackTrace
(
new
PrintWriter
(
out
));
e
.
printStackTrace
(
new
PrintWriter
(
out
));
exceptionMsg
=
out
.
toString
(
);
callback
.
setMsg
(
out
.
toString
()
);
}
finally
{
}
finally
{
if
(
httpPost
!=
null
)
{
if
(
httpPost
!=
null
)
{
httpPost
.
releaseConnection
();
httpPost
.
releaseConnection
();
...
@@ -85,9 +108,6 @@ public class HttpUtil {
...
@@ -85,9 +108,6 @@ public class HttpUtil {
}
}
}
}
String
[]
result
=
new
String
[
2
];
return
callback
;
result
[
0
]
=
responseMsg
;
result
[
1
]
=
exceptionMsg
;
return
result
;
}
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论