Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
965a0aed
提交
965a0aed
authored
10月 03, 2016
作者:
xueli.xue
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
抛弃任务执行机器属性,执行地址统一改为从执行器获取(目前仅支持DB注册方式获取)
上级
354f6483
隐藏空白字符变更
内嵌
并排
正在显示
28 个修改的文件
包含
146 行增加
和
256 行删除
+146
-256
tables_xxl_job.sql
db/tables_xxl_job.sql
+5
-7
JobCodeController.java
.../java/com/xxl/job/admin/controller/JobCodeController.java
+9
-11
JobGroupController.java
...java/com/xxl/job/admin/controller/JobGroupController.java
+1
-1
JobInfoController.java
.../java/com/xxl/job/admin/controller/JobInfoController.java
+5
-5
JobLogController.java
...n/java/com/xxl/job/admin/controller/JobLogController.java
+2
-2
XxlJobLogCallbackServerHandler.java
...b/admin/core/callback/XxlJobLogCallbackServerHandler.java
+2
-2
RemoteHttpJobBean.java
...ava/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java
+7
-15
XxlJobInfo.java
...rc/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java
+3
-12
XxlJobLog.java
...src/main/java/com/xxl/job/admin/core/model/XxlJobLog.java
+3
-3
XxlJobLogGlue.java
...main/java/com/xxl/job/admin/core/model/XxlJobLogGlue.java
+3
-3
DynamicSchedulerUtil.java
...ava/com/xxl/job/admin/core/util/DynamicSchedulerUtil.java
+16
-15
IXxlJobInfoDao.java
...n/src/main/java/com/xxl/job/admin/dao/IXxlJobInfoDao.java
+6
-6
IXxlJobLogDao.java
...in/src/main/java/com/xxl/job/admin/dao/IXxlJobLogDao.java
+6
-7
IXxlJobLogGlueDao.java
...rc/main/java/com/xxl/job/admin/dao/IXxlJobLogGlueDao.java
+5
-5
XxlJobInfoDaoImpl.java
...in/java/com/xxl/job/admin/dao/impl/XxlJobInfoDaoImpl.java
+9
-11
XxlJobLogDaoImpl.java
...ain/java/com/xxl/job/admin/dao/impl/XxlJobLogDaoImpl.java
+9
-19
XxlJobLogGlueDaoImpl.java
...java/com/xxl/job/admin/dao/impl/XxlJobLogGlueDaoImpl.java
+8
-10
IXxlJobService.java
...c/main/java/com/xxl/job/admin/service/IXxlJobService.java
+5
-5
XxlJobServiceImpl.java
...ava/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java
+15
-17
XxlJobInfoMapper.xml
...in/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml
+3
-8
XxlJobLogGlueMapper.xml
...src/main/resources/mybatis-mapper/XxlJobLogGlueMapper.xml
+1
-1
XxlJobLogMapper.xml
...min/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml
+1
-7
jobgroup.index.ftl
.../main/webapp/WEB-INF/template/jobgroup/jobgroup.index.ftl
+1
-1
jobinfo.index.ftl
...rc/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl
+14
-36
joblog.index.ftl
.../src/main/webapp/WEB-INF/template/joblog/joblog.index.ftl
+1
-1
jobinfo.index.1.js
xxl-job-admin/src/main/webapp/static/js/jobinfo.index.1.js
+0
-40
XxlJobInfoTest.java
...in/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java
+4
-4
XxlJobLogTest.java
...min/src/test/java/com/xxl/job/dao/impl/XxlJobLogTest.java
+2
-2
没有找到文件。
db/tables_xxl_job.sql
浏览文件 @
965a0aed
...
@@ -145,9 +145,9 @@ CREATE TABLE XXL_JOB_QRTZ_LOCKS
...
@@ -145,9 +145,9 @@ CREATE TABLE XXL_JOB_QRTZ_LOCKS
CREATE
TABLE
`XXL_JOB_QRTZ_TRIGGER_INFO`
(
CREATE
TABLE
XXL_JOB_QRTZ_TRIGGER_INFO
(
`id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`job_group`
varchar
(
255
)
NOT
NULL
COMMENT
'任务组
'
,
`job_group`
int
(
11
)
NOT
NULL
COMMENT
'任务组(执行器ID)
'
,
`job_name`
varchar
(
255
)
NOT
NULL
COMMENT
'任务名'
,
`job_name`
varchar
(
255
)
NOT
NULL
COMMENT
'任务名'
,
`job_cron`
varchar
(
128
)
NOT
NULL
COMMENT
'任务执行CRON'
,
`job_cron`
varchar
(
128
)
NOT
NULL
COMMENT
'任务执行CRON'
,
`job_desc`
varchar
(
255
)
NOT
NULL
,
`job_desc`
varchar
(
255
)
NOT
NULL
,
...
@@ -155,8 +155,6 @@ CREATE TABLE `XXL_JOB_QRTZ_TRIGGER_INFO` (
...
@@ -155,8 +155,6 @@ CREATE TABLE `XXL_JOB_QRTZ_TRIGGER_INFO` (
`update_time`
datetime
DEFAULT
NULL
,
`update_time`
datetime
DEFAULT
NULL
,
`author`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'作者'
,
`author`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'作者'
,
`alarm_email`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'报警邮件'
,
`alarm_email`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'报警邮件'
,
`executor_appname`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'执行器对应的AppName'
,
`executor_address`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'执行器地址,有多个则逗号分隔'
,
`executor_handler`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'执行器任务handler'
,
`executor_handler`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'执行器任务handler'
,
`executor_param`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'执行器任务参数'
,
`executor_param`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'执行器任务参数'
,
`glue_switch`
int
(
11
)
DEFAULT
'0'
COMMENT
'GLUE模式开关:0-否,1-是'
,
`glue_switch`
int
(
11
)
DEFAULT
'0'
COMMENT
'GLUE模式开关:0-否,1-是'
,
...
@@ -167,9 +165,9 @@ CREATE TABLE `XXL_JOB_QRTZ_TRIGGER_INFO` (
...
@@ -167,9 +165,9 @@ CREATE TABLE `XXL_JOB_QRTZ_TRIGGER_INFO` (
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
;
CREATE
TABLE
`XXL_JOB_QRTZ_TRIGGER_LOG`
(
CREATE
TABLE
XXL_JOB_QRTZ_TRIGGER_LOG
(
`id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`job_group`
varchar
(
255
)
NOT
NULL
COMMENT
'任务组'
,
`job_group`
int
(
11
)
NOT
NULL
COMMENT
'任务组'
,
`job_name`
varchar
(
255
)
NOT
NULL
COMMENT
'任务名'
,
`job_name`
varchar
(
255
)
NOT
NULL
COMMENT
'任务名'
,
`executor_address`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'执行器地址,本次执行的地址'
,
`executor_address`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'执行器地址,本次执行的地址'
,
`executor_handler`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'执行器任务handler'
,
`executor_handler`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'执行器任务handler'
,
...
@@ -185,7 +183,7 @@ CREATE TABLE `XXL_JOB_QRTZ_TRIGGER_LOG` (
...
@@ -185,7 +183,7 @@ CREATE TABLE `XXL_JOB_QRTZ_TRIGGER_LOG` (
CREATE
TABLE
XXL_JOB_QRTZ_TRIGGER_LOGGLUE
(
CREATE
TABLE
XXL_JOB_QRTZ_TRIGGER_LOGGLUE
(
`id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`job_group`
varchar
(
255
)
NOT
NULL
,
`job_group`
int
(
11
)
NOT
NULL
,
`job_name`
varchar
(
255
)
NOT
NULL
,
`job_name`
varchar
(
255
)
NOT
NULL
,
`glue_source`
text
,
`glue_source`
text
,
`glue_remark`
varchar
(
128
)
NOT
NULL
,
`glue_remark`
varchar
(
128
)
NOT
NULL
,
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java
浏览文件 @
965a0aed
package
com
.
xxl
.
job
.
admin
.
controller
;
package
com
.
xxl
.
job
.
admin
.
controller
;
import
java.util.List
;
import
com.xxl.job.admin.core.model.ReturnT
;
import
com.xxl.job.admin.core.model.XxlJobInfo
;
import
javax.annotation.Resource
;
import
com.xxl.job.admin.core.model.XxlJobLogGlue
;
import
com.xxl.job.admin.dao.IXxlJobInfoDao
;
import
com.xxl.job.admin.dao.IXxlJobLogGlueDao
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
com.xxl.job.admin.core.model.ReturnT
;
import
javax.annotation.Resource
;
import
com.xxl.job.admin.core.model.XxlJobInfo
;
import
java.util.List
;
import
com.xxl.job.admin.core.model.XxlJobLogGlue
;
import
com.xxl.job.admin.dao.IXxlJobInfoDao
;
import
com.xxl.job.admin.dao.IXxlJobLogGlueDao
;
/**
/**
* job code controller
* job code controller
...
@@ -30,7 +28,7 @@ public class JobCodeController {
...
@@ -30,7 +28,7 @@ public class JobCodeController {
private
IXxlJobLogGlueDao
xxlJobLogGlueDao
;
private
IXxlJobLogGlueDao
xxlJobLogGlueDao
;
@RequestMapping
@RequestMapping
public
String
index
(
Model
model
,
String
jobGroup
,
String
jobName
)
{
public
String
index
(
Model
model
,
int
jobGroup
,
String
jobName
)
{
XxlJobInfo
jobInfo
=
xxlJobInfoDao
.
load
(
jobGroup
,
jobName
);
XxlJobInfo
jobInfo
=
xxlJobInfoDao
.
load
(
jobGroup
,
jobName
);
List
<
XxlJobLogGlue
>
jobLogGlues
=
xxlJobLogGlueDao
.
selectList
(
jobGroup
,
jobName
);
List
<
XxlJobLogGlue
>
jobLogGlues
=
xxlJobLogGlueDao
.
selectList
(
jobGroup
,
jobName
);
model
.
addAttribute
(
"jobInfo"
,
jobInfo
);
model
.
addAttribute
(
"jobInfo"
,
jobInfo
);
...
@@ -40,7 +38,7 @@ public class JobCodeController {
...
@@ -40,7 +38,7 @@ public class JobCodeController {
@RequestMapping
(
"/save"
)
@RequestMapping
(
"/save"
)
@ResponseBody
@ResponseBody
public
ReturnT
<
String
>
save
(
Model
model
,
String
jobGroup
,
String
jobName
,
String
glueSource
,
String
glueRemark
)
{
public
ReturnT
<
String
>
save
(
Model
model
,
int
jobGroup
,
String
jobName
,
String
glueSource
,
String
glueRemark
)
{
// valid
// valid
if
(
glueRemark
==
null
)
{
if
(
glueRemark
==
null
)
{
return
new
ReturnT
<
String
>(
500
,
"请输入备注"
);
return
new
ReturnT
<
String
>(
500
,
"请输入备注"
);
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java
浏览文件 @
965a0aed
...
@@ -87,7 +87,7 @@ public class JobGroupController {
...
@@ -87,7 +87,7 @@ public class JobGroupController {
public
ReturnT
<
String
>
remove
(
int
id
){
public
ReturnT
<
String
>
remove
(
int
id
){
// valid
// valid
int
count
=
xxlJobInfoDao
.
pageListCount
(
0
,
10
,
String
.
valueOf
(
id
)
,
null
);
int
count
=
xxlJobInfoDao
.
pageListCount
(
0
,
10
,
id
,
null
);
if
(
count
>
0
)
{
if
(
count
>
0
)
{
return
new
ReturnT
<
String
>(
500
,
"该分组使用中, 不可删除"
);
return
new
ReturnT
<
String
>(
500
,
"该分组使用中, 不可删除"
);
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java
浏览文件 @
965a0aed
...
@@ -41,7 +41,7 @@ public class JobInfoController {
...
@@ -41,7 +41,7 @@ public class JobInfoController {
@ResponseBody
@ResponseBody
public
Map
<
String
,
Object
>
pageList
(
@RequestParam
(
required
=
false
,
defaultValue
=
"0"
)
int
start
,
public
Map
<
String
,
Object
>
pageList
(
@RequestParam
(
required
=
false
,
defaultValue
=
"0"
)
int
start
,
@RequestParam
(
required
=
false
,
defaultValue
=
"10"
)
int
length
,
@RequestParam
(
required
=
false
,
defaultValue
=
"10"
)
int
length
,
String
jobGroup
,
String
executorHandler
,
String
filterTime
)
{
int
jobGroup
,
String
executorHandler
,
String
filterTime
)
{
return
xxlJobService
.
pageList
(
start
,
length
,
jobGroup
,
executorHandler
,
filterTime
);
return
xxlJobService
.
pageList
(
start
,
length
,
jobGroup
,
executorHandler
,
filterTime
);
}
}
...
@@ -69,25 +69,25 @@ public class JobInfoController {
...
@@ -69,25 +69,25 @@ public class JobInfoController {
@RequestMapping
(
"/remove"
)
@RequestMapping
(
"/remove"
)
@ResponseBody
@ResponseBody
public
ReturnT
<
String
>
remove
(
String
jobGroup
,
String
jobName
)
{
public
ReturnT
<
String
>
remove
(
int
jobGroup
,
String
jobName
)
{
return
xxlJobService
.
remove
(
jobGroup
,
jobName
);
return
xxlJobService
.
remove
(
jobGroup
,
jobName
);
}
}
@RequestMapping
(
"/pause"
)
@RequestMapping
(
"/pause"
)
@ResponseBody
@ResponseBody
public
ReturnT
<
String
>
pause
(
String
jobGroup
,
String
jobName
)
{
public
ReturnT
<
String
>
pause
(
int
jobGroup
,
String
jobName
)
{
return
xxlJobService
.
pause
(
jobGroup
,
jobName
);
return
xxlJobService
.
pause
(
jobGroup
,
jobName
);
}
}
@RequestMapping
(
"/resume"
)
@RequestMapping
(
"/resume"
)
@ResponseBody
@ResponseBody
public
ReturnT
<
String
>
resume
(
String
jobGroup
,
String
jobName
)
{
public
ReturnT
<
String
>
resume
(
int
jobGroup
,
String
jobName
)
{
return
xxlJobService
.
resume
(
jobGroup
,
jobName
);
return
xxlJobService
.
resume
(
jobGroup
,
jobName
);
}
}
@RequestMapping
(
"/trigger"
)
@RequestMapping
(
"/trigger"
)
@ResponseBody
@ResponseBody
public
ReturnT
<
String
>
triggerJob
(
String
jobGroup
,
String
jobName
)
{
public
ReturnT
<
String
>
triggerJob
(
int
jobGroup
,
String
jobName
)
{
return
xxlJobService
.
triggerJob
(
jobGroup
,
jobName
);
return
xxlJobService
.
triggerJob
(
jobGroup
,
jobName
);
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
浏览文件 @
965a0aed
...
@@ -65,7 +65,7 @@ public class JobLogController {
...
@@ -65,7 +65,7 @@ public class JobLogController {
@ResponseBody
@ResponseBody
public
Map
<
String
,
Object
>
pageList
(
@RequestParam
(
required
=
false
,
defaultValue
=
"0"
)
int
start
,
public
Map
<
String
,
Object
>
pageList
(
@RequestParam
(
required
=
false
,
defaultValue
=
"0"
)
int
start
,
@RequestParam
(
required
=
false
,
defaultValue
=
"10"
)
int
length
,
@RequestParam
(
required
=
false
,
defaultValue
=
"10"
)
int
length
,
String
jobGroup
,
String
jobName
,
String
filterTime
)
{
int
jobGroup
,
String
jobName
,
String
filterTime
)
{
// parse param
// parse param
Date
triggerTimeStart
=
null
;
Date
triggerTimeStart
=
null
;
...
@@ -161,7 +161,7 @@ public class JobLogController {
...
@@ -161,7 +161,7 @@ public class JobLogController {
RequestModel
requestModel
=
new
RequestModel
();
RequestModel
requestModel
=
new
RequestModel
();
requestModel
.
setTimestamp
(
System
.
currentTimeMillis
());
requestModel
.
setTimestamp
(
System
.
currentTimeMillis
());
requestModel
.
setAction
(
ActionRepository
.
KILL
.
name
());
requestModel
.
setAction
(
ActionRepository
.
KILL
.
name
());
requestModel
.
setJobGroup
(
log
.
getJobGroup
(
));
requestModel
.
setJobGroup
(
String
.
valueOf
(
log
.
getJobGroup
()
));
requestModel
.
setJobName
(
log
.
getJobName
());
requestModel
.
setJobName
(
log
.
getJobName
());
ResponseModel
responseModel
=
XxlJobNetCommUtil
.
postHex
(
XxlJobNetCommUtil
.
addressToUrl
(
log
.
getExecutorAddress
()),
requestModel
);
ResponseModel
responseModel
=
XxlJobNetCommUtil
.
postHex
(
XxlJobNetCommUtil
.
addressToUrl
(
log
.
getExecutorAddress
()),
requestModel
);
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/callback/XxlJobLogCallbackServerHandler.java
浏览文件 @
965a0aed
...
@@ -77,10 +77,10 @@ public class XxlJobLogCallbackServerHandler extends AbstractHandler {
...
@@ -77,10 +77,10 @@ public class XxlJobLogCallbackServerHandler extends AbstractHandler {
for
(
int
i
=
0
;
i
<
childJobKeys
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
childJobKeys
.
length
;
i
++)
{
String
[]
jobKeyArr
=
childJobKeys
[
i
].
split
(
"_"
);
String
[]
jobKeyArr
=
childJobKeys
[
i
].
split
(
"_"
);
if
(
jobKeyArr
!=
null
&&
jobKeyArr
.
length
==
2
)
{
if
(
jobKeyArr
!=
null
&&
jobKeyArr
.
length
==
2
)
{
XxlJobInfo
childJobInfo
=
DynamicSchedulerUtil
.
xxlJobInfoDao
.
load
(
jobKeyArr
[
0
]
,
jobKeyArr
[
1
]);
XxlJobInfo
childJobInfo
=
DynamicSchedulerUtil
.
xxlJobInfoDao
.
load
(
Integer
.
valueOf
(
jobKeyArr
[
0
])
,
jobKeyArr
[
1
]);
if
(
childJobInfo
!=
null
)
{
if
(
childJobInfo
!=
null
)
{
try
{
try
{
boolean
ret
=
DynamicSchedulerUtil
.
triggerJob
(
childJobInfo
.
getJobName
(),
childJobInfo
.
getJobGroup
(
));
boolean
ret
=
DynamicSchedulerUtil
.
triggerJob
(
childJobInfo
.
getJobName
(),
String
.
valueOf
(
childJobInfo
.
getJobGroup
()
));
// add msg
// add msg
childTriggerMsg
+=
MessageFormat
.
format
(
"<br> {0}/{1} 触发子任务成功, 子任务Key: {2}, status: {3}, 子任务描述: {4}"
,
childTriggerMsg
+=
MessageFormat
.
format
(
"<br> {0}/{1} 触发子任务成功, 子任务Key: {2}, status: {3}, 子任务描述: {4}"
,
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java
浏览文件 @
965a0aed
...
@@ -37,7 +37,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
...
@@ -37,7 +37,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
throws
JobExecutionException
{
throws
JobExecutionException
{
JobKey
jobKey
=
context
.
getTrigger
().
getJobKey
();
JobKey
jobKey
=
context
.
getTrigger
().
getJobKey
();
XxlJobInfo
jobInfo
=
DynamicSchedulerUtil
.
xxlJobInfoDao
.
load
(
jobKey
.
getGroup
(
),
jobKey
.
getName
());
XxlJobInfo
jobInfo
=
DynamicSchedulerUtil
.
xxlJobInfoDao
.
load
(
Integer
.
valueOf
(
jobKey
.
getGroup
()
),
jobKey
.
getName
());
// save log
// save log
XxlJobLog
jobLog
=
new
XxlJobLog
();
XxlJobLog
jobLog
=
new
XxlJobLog
();
jobLog
.
setJobGroup
(
jobInfo
.
getJobGroup
());
jobLog
.
setJobGroup
(
jobInfo
.
getJobGroup
());
...
@@ -57,7 +57,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
...
@@ -57,7 +57,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
RequestModel
requestModel
=
new
RequestModel
();
RequestModel
requestModel
=
new
RequestModel
();
requestModel
.
setTimestamp
(
System
.
currentTimeMillis
());
requestModel
.
setTimestamp
(
System
.
currentTimeMillis
());
requestModel
.
setAction
(
ActionRepository
.
RUN
.
name
());
requestModel
.
setAction
(
ActionRepository
.
RUN
.
name
());
requestModel
.
setJobGroup
(
jobInfo
.
getJobGroup
(
));
requestModel
.
setJobGroup
(
String
.
valueOf
(
jobInfo
.
getJobGroup
()
));
requestModel
.
setJobName
(
jobInfo
.
getJobName
());
requestModel
.
setJobName
(
jobInfo
.
getJobName
());
requestModel
.
setExecutorHandler
(
jobInfo
.
getExecutorHandler
());
requestModel
.
setExecutorHandler
(
jobInfo
.
getExecutorHandler
());
requestModel
.
setExecutorParams
(
jobInfo
.
getExecutorParam
());
requestModel
.
setExecutorParams
(
jobInfo
.
getExecutorParam
());
...
@@ -67,17 +67,9 @@ public class RemoteHttpJobBean extends QuartzJobBean {
...
@@ -67,17 +67,9 @@ public class RemoteHttpJobBean extends QuartzJobBean {
// parse address
// parse address
List
<
String
>
addressList
=
new
ArrayList
<
String
>();
List
<
String
>
addressList
=
new
ArrayList
<
String
>();
String
parseAddressMsg
=
null
;
XxlJobGroup
group
=
DynamicSchedulerUtil
.
xxlJobGroupDao
.
load
(
Integer
.
valueOf
(
jobInfo
.
getJobGroup
()));
if
(
StringUtils
.
isNotBlank
(
jobInfo
.
getExecutorAddress
()))
{
if
(
group
!=
null
)
{
List
<
String
>
addressArr
=
Arrays
.
asList
(
jobInfo
.
getExecutorAddress
().
split
(
","
));
addressList
=
JobRegistryHelper
.
discover
(
RegistHelper
.
RegistType
.
EXECUTOR
.
name
(),
group
.
getAppName
());
addressList
.
addAll
(
addressArr
);
parseAddressMsg
=
MessageFormat
.
format
(
"Parse Address (地址配置方式) <br>>>>[address list] : {0}<br><hr>"
,
addressList
);
}
else
{
XxlJobGroup
group
=
DynamicSchedulerUtil
.
xxlJobGroupDao
.
load
(
Integer
.
valueOf
(
jobInfo
.
getJobGroup
()));
if
(
group
!=
null
)
{
addressList
=
JobRegistryHelper
.
discover
(
RegistHelper
.
RegistType
.
EXECUTOR
.
name
(),
group
.
getAppName
());
}
parseAddressMsg
=
MessageFormat
.
format
(
"Parse Address (Appname注册方式) <br>>>>[address list] : {0}<br><hr>"
,
addressList
);
}
}
// failover trigger
// failover trigger
...
@@ -89,7 +81,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
...
@@ -89,7 +81,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
// update trigger info
// update trigger info
jobLog
.
setTriggerTime
(
new
Date
());
jobLog
.
setTriggerTime
(
new
Date
());
jobLog
.
setTriggerStatus
(
responseModel
.
getStatus
());
jobLog
.
setTriggerStatus
(
responseModel
.
getStatus
());
jobLog
.
setTriggerMsg
(
parseAddressMsg
+
responseModel
.
getMsg
());
jobLog
.
setTriggerMsg
(
responseModel
.
getMsg
());
DynamicSchedulerUtil
.
xxlJobLogDao
.
updateTriggerInfo
(
jobLog
);
DynamicSchedulerUtil
.
xxlJobLogDao
.
updateTriggerInfo
(
jobLog
);
// monitor triger
// monitor triger
...
@@ -107,7 +99,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
...
@@ -107,7 +99,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
if
(
addressList
==
null
||
addressList
.
size
()
<
1
)
{
if
(
addressList
==
null
||
addressList
.
size
()
<
1
)
{
ResponseModel
result
=
new
ResponseModel
();
ResponseModel
result
=
new
ResponseModel
();
result
.
setStatus
(
ResponseModel
.
FAIL
);
result
.
setStatus
(
ResponseModel
.
FAIL
);
result
.
setMsg
(
"Trigger error, <br>>>>
address list
is null <br><hr>"
);
result
.
setMsg
(
"Trigger error, <br>>>>
[address]
is null <br><hr>"
);
return
result
;
return
result
;
}
else
if
(
addressList
.
size
()
==
1
)
{
}
else
if
(
addressList
.
size
()
==
1
)
{
String
address
=
addressList
.
get
(
0
);
String
address
=
addressList
.
get
(
0
);
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java
浏览文件 @
965a0aed
...
@@ -10,7 +10,7 @@ public class XxlJobInfo {
...
@@ -10,7 +10,7 @@ public class XxlJobInfo {
private
int
id
;
private
int
id
;
private
String
jobGroup
;
// 任务组
private
int
jobGroup
;
// 任务组 (执行器ID)
private
String
jobName
;
// 任务名
private
String
jobName
;
// 任务名
private
String
jobCron
;
// 任务执行CRON表达式 【base on quartz】
private
String
jobCron
;
// 任务执行CRON表达式 【base on quartz】
private
String
jobDesc
;
private
String
jobDesc
;
...
@@ -21,7 +21,6 @@ public class XxlJobInfo {
...
@@ -21,7 +21,6 @@ public class XxlJobInfo {
private
String
author
;
// 负责人
private
String
author
;
// 负责人
private
String
alarmEmail
;
// 报警邮件
private
String
alarmEmail
;
// 报警邮件
private
String
executorAddress
;
// 执行器地址,有多个则逗号分隔
private
String
executorHandler
;
// 执行器,任务Handler名称
private
String
executorHandler
;
// 执行器,任务Handler名称
private
String
executorParam
;
// 执行器,任务参数
private
String
executorParam
;
// 执行器,任务参数
...
@@ -42,11 +41,11 @@ public class XxlJobInfo {
...
@@ -42,11 +41,11 @@ public class XxlJobInfo {
this
.
id
=
id
;
this
.
id
=
id
;
}
}
public
String
getJobGroup
()
{
public
int
getJobGroup
()
{
return
jobGroup
;
return
jobGroup
;
}
}
public
void
setJobGroup
(
String
jobGroup
)
{
public
void
setJobGroup
(
int
jobGroup
)
{
this
.
jobGroup
=
jobGroup
;
this
.
jobGroup
=
jobGroup
;
}
}
...
@@ -106,14 +105,6 @@ public class XxlJobInfo {
...
@@ -106,14 +105,6 @@ public class XxlJobInfo {
this
.
alarmEmail
=
alarmEmail
;
this
.
alarmEmail
=
alarmEmail
;
}
}
public
String
getExecutorAddress
()
{
return
executorAddress
;
}
public
void
setExecutorAddress
(
String
executorAddress
)
{
this
.
executorAddress
=
executorAddress
;
}
public
String
getExecutorHandler
()
{
public
String
getExecutorHandler
()
{
return
executorHandler
;
return
executorHandler
;
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobLog.java
浏览文件 @
965a0aed
...
@@ -11,7 +11,7 @@ public class XxlJobLog {
...
@@ -11,7 +11,7 @@ public class XxlJobLog {
private
int
id
;
private
int
id
;
// job info
// job info
private
String
jobGroup
;
private
int
jobGroup
;
private
String
jobName
;
private
String
jobName
;
private
String
executorAddress
;
// 执行器地址,有多个则逗号分隔
private
String
executorAddress
;
// 执行器地址,有多个则逗号分隔
...
@@ -34,10 +34,10 @@ public class XxlJobLog {
...
@@ -34,10 +34,10 @@ public class XxlJobLog {
public
void
setId
(
int
id
)
{
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
this
.
id
=
id
;
}
}
public
String
getJobGroup
()
{
public
int
getJobGroup
()
{
return
jobGroup
;
return
jobGroup
;
}
}
public
void
setJobGroup
(
String
jobGroup
)
{
public
void
setJobGroup
(
int
jobGroup
)
{
this
.
jobGroup
=
jobGroup
;
this
.
jobGroup
=
jobGroup
;
}
}
public
String
getJobName
()
{
public
String
getJobName
()
{
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobLogGlue.java
浏览文件 @
965a0aed
...
@@ -8,7 +8,7 @@ public class XxlJobLogGlue {
...
@@ -8,7 +8,7 @@ public class XxlJobLogGlue {
private
int
id
;
private
int
id
;
private
String
jobGroup
;
private
int
jobGroup
;
private
String
jobName
;
private
String
jobName
;
private
String
glueSource
;
private
String
glueSource
;
...
@@ -22,10 +22,10 @@ public class XxlJobLogGlue {
...
@@ -22,10 +22,10 @@ public class XxlJobLogGlue {
public
void
setId
(
int
id
)
{
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
this
.
id
=
id
;
}
}
public
String
getJobGroup
()
{
public
int
getJobGroup
()
{
return
jobGroup
;
return
jobGroup
;
}
}
public
void
setJobGroup
(
String
jobGroup
)
{
public
void
setJobGroup
(
int
jobGroup
)
{
this
.
jobGroup
=
jobGroup
;
this
.
jobGroup
=
jobGroup
;
}
}
public
String
getJobName
()
{
public
String
getJobName
()
{
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/DynamicSchedulerUtil.java
浏览文件 @
965a0aed
...
@@ -120,8 +120,8 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
...
@@ -120,8 +120,8 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
// fill job info
// fill job info
public
static
void
fillJobInfo
(
XxlJobInfo
jobInfo
)
{
public
static
void
fillJobInfo
(
XxlJobInfo
jobInfo
)
{
// TriggerKey : name + group
// TriggerKey : name + group
TriggerKey
triggerKey
=
TriggerKey
.
triggerKey
(
jobInfo
.
getJobName
(),
jobInfo
.
getJobGroup
(
));
TriggerKey
triggerKey
=
TriggerKey
.
triggerKey
(
jobInfo
.
getJobName
(),
String
.
valueOf
(
jobInfo
.
getJobGroup
()
));
JobKey
jobKey
=
new
JobKey
(
jobInfo
.
getJobName
(),
jobInfo
.
getJobGroup
());
try
{
try
{
Trigger
trigger
=
scheduler
.
getTrigger
(
triggerKey
);
Trigger
trigger
=
scheduler
.
getTrigger
(
triggerKey
);
...
@@ -133,6 +133,7 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
...
@@ -133,6 +133,7 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
jobInfo
.
setJobCron
(
cronExpression
);
jobInfo
.
setJobCron
(
cronExpression
);
}
}
//JobKey jobKey = new JobKey(jobInfo.getJobName(), String.valueOf(jobInfo.getJobGroup()));
//JobDetail jobDetail = scheduler.getJobDetail(jobKey);
//JobDetail jobDetail = scheduler.getJobDetail(jobKey);
//String jobClass = jobDetail.getJobClass().getName();
//String jobClass = jobDetail.getJobClass().getName();
...
@@ -153,19 +154,19 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
...
@@ -153,19 +154,19 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
// addJob 新增
// addJob 新增
@SuppressWarnings
(
"unchecked"
)
@SuppressWarnings
(
"unchecked"
)
public
static
boolean
addJob
(
XxlJobInfo
jobInfo
)
throws
SchedulerException
{
public
static
boolean
addJob
(
String
jobGroup
,
String
jobName
,
String
cronExpression
)
throws
SchedulerException
{
// TriggerKey : name + group
// TriggerKey : name + group
TriggerKey
triggerKey
=
TriggerKey
.
triggerKey
(
job
Info
.
getJobName
(),
jobInfo
.
getJobGroup
()
);
TriggerKey
triggerKey
=
TriggerKey
.
triggerKey
(
job
Name
,
jobGroup
);
JobKey
jobKey
=
new
JobKey
(
job
Info
.
getJobName
(),
jobInfo
.
getJobGroup
()
);
JobKey
jobKey
=
new
JobKey
(
job
Name
,
jobGroup
);
// TriggerKey valid if_exists
// TriggerKey valid if_exists
if
(
checkExists
(
job
Info
.
getJobName
(),
jobInfo
.
getJobGroup
()
))
{
if
(
checkExists
(
job
Name
,
jobGroup
))
{
logger
.
info
(
">>>>>>>>> addJob fail, job already exist, job
Info:{}"
,
jobInfo
);
logger
.
info
(
">>>>>>>>> addJob fail, job already exist, job
Group:{}, jobName:{}"
,
jobGroup
,
jobName
);
return
false
;
return
false
;
}
}
// CronTrigger : TriggerKey + cronExpression // withMisfireHandlingInstructionDoNothing 忽略掉调度终止过程中忽略的调度
// CronTrigger : TriggerKey + cronExpression // withMisfireHandlingInstructionDoNothing 忽略掉调度终止过程中忽略的调度
CronScheduleBuilder
cronScheduleBuilder
=
CronScheduleBuilder
.
cronSchedule
(
jobInfo
.
getJobCron
()
).
withMisfireHandlingInstructionDoNothing
();
CronScheduleBuilder
cronScheduleBuilder
=
CronScheduleBuilder
.
cronSchedule
(
cronExpression
).
withMisfireHandlingInstructionDoNothing
();
CronTrigger
cronTrigger
=
TriggerBuilder
.
newTrigger
().
withIdentity
(
triggerKey
).
withSchedule
(
cronScheduleBuilder
).
build
();
CronTrigger
cronTrigger
=
TriggerBuilder
.
newTrigger
().
withIdentity
(
triggerKey
).
withSchedule
(
cronScheduleBuilder
).
build
();
// JobDetail : jobClass
// JobDetail : jobClass
...
@@ -186,20 +187,20 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
...
@@ -186,20 +187,20 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
}
}
// reschedule
// reschedule
public
static
boolean
rescheduleJob
(
XxlJobInfo
jobInfo
)
throws
SchedulerException
{
public
static
boolean
rescheduleJob
(
String
jobGroup
,
String
jobName
,
String
cronExpression
)
throws
SchedulerException
{
// TriggerKey valid if_exists
// TriggerKey valid if_exists
if
(!
checkExists
(
job
Info
.
getJobName
(),
jobInfo
.
getJobGroup
()
))
{
if
(!
checkExists
(
job
Name
,
jobGroup
))
{
logger
.
info
(
">>>>>>>>>>> rescheduleJob fail, job not exists,
jobInfo:{}"
,
jobInfo
);
logger
.
info
(
">>>>>>>>>>> rescheduleJob fail, job not exists,
JobGroup:{}, JobName:{}"
,
jobGroup
,
jobName
);
return
false
;
return
false
;
}
}
// TriggerKey : name + group
// TriggerKey : name + group
TriggerKey
triggerKey
=
TriggerKey
.
triggerKey
(
job
Info
.
getJobName
(),
jobInfo
.
getJobGroup
()
);
TriggerKey
triggerKey
=
TriggerKey
.
triggerKey
(
job
Name
,
jobGroup
);
JobKey
jobKey
=
new
JobKey
(
job
Info
.
getJobName
(),
jobInfo
.
getJobGroup
()
);
JobKey
jobKey
=
new
JobKey
(
job
Name
,
jobGroup
);
// CronTrigger : TriggerKey + cronExpression
// CronTrigger : TriggerKey + cronExpression
CronScheduleBuilder
cronScheduleBuilder
=
CronScheduleBuilder
.
cronSchedule
(
jobInfo
.
getJobCron
()
).
withMisfireHandlingInstructionDoNothing
();
CronScheduleBuilder
cronScheduleBuilder
=
CronScheduleBuilder
.
cronSchedule
(
cronExpression
).
withMisfireHandlingInstructionDoNothing
();
CronTrigger
cronTrigger
=
TriggerBuilder
.
newTrigger
().
withIdentity
(
triggerKey
).
withSchedule
(
cronScheduleBuilder
).
build
();
CronTrigger
cronTrigger
=
TriggerBuilder
.
newTrigger
().
withIdentity
(
triggerKey
).
withSchedule
(
cronScheduleBuilder
).
build
();
//scheduler.rescheduleJob(triggerKey, cronTrigger);
//scheduler.rescheduleJob(triggerKey, cronTrigger);
...
@@ -215,7 +216,7 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
...
@@ -215,7 +216,7 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
triggerSet
.
add
(
cronTrigger
);
triggerSet
.
add
(
cronTrigger
);
scheduler
.
scheduleJob
(
jobDetail
,
triggerSet
,
true
);
scheduler
.
scheduleJob
(
jobDetail
,
triggerSet
,
true
);
logger
.
info
(
">>>>>>>>>>> resumeJob success, JobGroup:{}, JobName:{}"
,
job
Info
.
getJobGroup
(),
jobInfo
.
getJobName
()
);
logger
.
info
(
">>>>>>>>>>> resumeJob success, JobGroup:{}, JobName:{}"
,
job
Group
,
jobName
);
return
true
;
return
true
;
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/dao/IXxlJobInfoDao.java
浏览文件 @
965a0aed
package
com
.
xxl
.
job
.
admin
.
dao
;
package
com
.
xxl
.
job
.
admin
.
dao
;
import
java.util.List
;
import
com.xxl.job.admin.core.model.XxlJobInfo
;
import
com.xxl.job.admin.core.model.XxlJobInfo
;
import
com.xxl.job.admin.core.model.XxlJobLog
;
import
com.xxl.job.admin.core.model.XxlJobLog
;
import
java.util.List
;
/**
/**
* job info
* job info
...
@@ -12,16 +12,16 @@ import com.xxl.job.admin.core.model.XxlJobLog;
...
@@ -12,16 +12,16 @@ import com.xxl.job.admin.core.model.XxlJobLog;
*/
*/
public
interface
IXxlJobInfoDao
{
public
interface
IXxlJobInfoDao
{
public
List
<
XxlJobInfo
>
pageList
(
int
offset
,
int
pagesize
,
String
jobGroup
,
String
executorHandler
);
public
List
<
XxlJobInfo
>
pageList
(
int
offset
,
int
pagesize
,
int
jobGroup
,
String
executorHandler
);
public
int
pageListCount
(
int
offset
,
int
pagesize
,
String
jobGroup
,
String
executorHandler
);
public
int
pageListCount
(
int
offset
,
int
pagesize
,
int
jobGroup
,
String
executorHandler
);
public
int
save
(
XxlJobInfo
info
);
public
int
save
(
XxlJobInfo
info
);
public
XxlJobInfo
load
(
String
jobGroup
,
String
jobName
);
public
XxlJobInfo
load
(
int
jobGroup
,
String
jobName
);
public
int
update
(
XxlJobInfo
item
);
public
int
update
(
XxlJobInfo
item
);
public
int
delete
(
String
jobGroup
,
String
jobName
);
public
int
delete
(
int
jobGroup
,
String
jobName
);
public
List
<
XxlJobLog
>
getJobsByGroup
(
String
jobGroup
);
public
List
<
XxlJobLog
>
getJobsByGroup
(
String
jobGroup
);
}
}
xxl-job-admin/src/main/java/com/xxl/job/admin/dao/IXxlJobLogDao.java
浏览文件 @
965a0aed
package
com
.
xxl
.
job
.
admin
.
dao
;
package
com
.
xxl
.
job
.
admin
.
dao
;
import
com.xxl.job.admin.core.model.XxlJobLog
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
com.xxl.job.admin.core.model.XxlJobLog
;
/**
/**
* job log
* job log
* @author xuxueli 2016-1-12 18:03:06
* @author xuxueli 2016-1-12 18:03:06
*/
*/
public
interface
IXxlJobLogDao
{
public
interface
IXxlJobLogDao
{
public
List
<
XxlJobLog
>
pageList
(
int
offset
,
int
pagesize
,
String
jobGroup
,
String
jobName
,
Date
triggerTimeStart
,
Date
triggerTimeEnd
);
public
List
<
XxlJobLog
>
pageList
(
int
offset
,
int
pagesize
,
int
jobGroup
,
String
jobName
,
Date
triggerTimeStart
,
Date
triggerTimeEnd
);
public
int
pageListCount
(
int
offset
,
int
pagesize
,
String
jobGroup
,
String
jobName
,
Date
triggerTimeStart
,
Date
triggerTimeEnd
);
public
int
pageListCount
(
int
offset
,
int
pagesize
,
int
jobGroup
,
String
jobName
,
Date
triggerTimeStart
,
Date
triggerTimeEnd
);
public
XxlJobLog
load
(
int
id
);
public
XxlJobLog
load
(
int
id
);
public
XxlJobLog
loadByGroupAndName
(
String
jobGroup
,
String
jobName
);
public
int
save
(
XxlJobLog
xxlJobLog
);
public
int
save
(
XxlJobLog
xxlJobLog
);
public
int
updateTriggerInfo
(
XxlJobLog
xxlJobLog
);
public
int
updateTriggerInfo
(
XxlJobLog
xxlJobLog
);
public
int
updateHandleInfo
(
XxlJobLog
xxlJobLog
);
public
int
updateHandleInfo
(
XxlJobLog
xxlJobLog
);
public
int
delete
(
String
jobGroup
,
String
jobName
);
public
int
delete
(
int
jobGroup
,
String
jobName
);
}
}
xxl-job-admin/src/main/java/com/xxl/job/admin/dao/IXxlJobLogGlueDao.java
浏览文件 @
965a0aed
package
com
.
xxl
.
job
.
admin
.
dao
;
package
com
.
xxl
.
job
.
admin
.
dao
;
import
java.util.List
;
import
com.xxl.job.admin.core.model.XxlJobLogGlue
;
import
com.xxl.job.admin.core.model.XxlJobLogGlue
;
import
java.util.List
;
/**
/**
* job log for glue
* job log for glue
* @author xuxueli 2016-5-19 18:04:56
* @author xuxueli 2016-5-19 18:04:56
...
@@ -12,10 +12,10 @@ public interface IXxlJobLogGlueDao {
...
@@ -12,10 +12,10 @@ public interface IXxlJobLogGlueDao {
public
int
save
(
XxlJobLogGlue
xxlJobLogGlue
);
public
int
save
(
XxlJobLogGlue
xxlJobLogGlue
);
public
List
<
XxlJobLogGlue
>
selectList
(
String
jobGroup
,
String
jobName
);
public
List
<
XxlJobLogGlue
>
selectList
(
int
jobGroup
,
String
jobName
);
public
int
removeOld
(
String
jobGroup
,
String
jobName
,
int
limit
);
public
int
removeOld
(
int
jobGroup
,
String
jobName
,
int
limit
);
public
int
delete
(
String
jobGroup
,
String
jobName
);
public
int
delete
(
int
jobGroup
,
String
jobName
);
}
}
xxl-job-admin/src/main/java/com/xxl/job/admin/dao/impl/XxlJobInfoDaoImpl.java
浏览文件 @
965a0aed
package
com
.
xxl
.
job
.
admin
.
dao
.
impl
;
package
com
.
xxl
.
job
.
admin
.
dao
.
impl
;
import
java.util.HashMap
;
import
com.xxl.job.admin.core.model.XxlJobInfo
;
import
java.util.List
;
import
javax.annotation.Resource
;
import
com.xxl.job.admin.core.model.XxlJobLog
;
import
com.xxl.job.admin.core.model.XxlJobLog
;
import
com.xxl.job.admin.dao.IXxlJobInfoDao
;
import
org.mybatis.spring.SqlSessionTemplate
;
import
org.mybatis.spring.SqlSessionTemplate
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
com.xxl.job.admin.core.model.XxlJobInfo
;
import
javax.annotation.Resource
;
import
com.xxl.job.admin.dao.IXxlJobInfoDao
;
import
java.util.HashMap
;
import
java.util.List
;
/**
/**
* job info
* job info
...
@@ -23,7 +21,7 @@ public class XxlJobInfoDaoImpl implements IXxlJobInfoDao {
...
@@ -23,7 +21,7 @@ public class XxlJobInfoDaoImpl implements IXxlJobInfoDao {
public
SqlSessionTemplate
sqlSessionTemplate
;
public
SqlSessionTemplate
sqlSessionTemplate
;
@Override
@Override
public
List
<
XxlJobInfo
>
pageList
(
int
offset
,
int
pagesize
,
String
jobGroup
,
String
executorHandler
)
{
public
List
<
XxlJobInfo
>
pageList
(
int
offset
,
int
pagesize
,
int
jobGroup
,
String
executorHandler
)
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"offset"
,
offset
);
params
.
put
(
"offset"
,
offset
);
params
.
put
(
"pagesize"
,
pagesize
);
params
.
put
(
"pagesize"
,
pagesize
);
...
@@ -34,7 +32,7 @@ public class XxlJobInfoDaoImpl implements IXxlJobInfoDao {
...
@@ -34,7 +32,7 @@ public class XxlJobInfoDaoImpl implements IXxlJobInfoDao {
}
}
@Override
@Override
public
int
pageListCount
(
int
offset
,
int
pagesize
,
String
jobGroup
,
String
executorHandler
)
{
public
int
pageListCount
(
int
offset
,
int
pagesize
,
int
jobGroup
,
String
executorHandler
)
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"offset"
,
offset
);
params
.
put
(
"offset"
,
offset
);
params
.
put
(
"pagesize"
,
pagesize
);
params
.
put
(
"pagesize"
,
pagesize
);
...
@@ -50,7 +48,7 @@ public class XxlJobInfoDaoImpl implements IXxlJobInfoDao {
...
@@ -50,7 +48,7 @@ public class XxlJobInfoDaoImpl implements IXxlJobInfoDao {
}
}
@Override
@Override
public
XxlJobInfo
load
(
String
jobGroup
,
String
jobName
)
{
public
XxlJobInfo
load
(
int
jobGroup
,
String
jobName
)
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobName"
,
jobName
);
params
.
put
(
"jobName"
,
jobName
);
...
@@ -64,7 +62,7 @@ public class XxlJobInfoDaoImpl implements IXxlJobInfoDao {
...
@@ -64,7 +62,7 @@ public class XxlJobInfoDaoImpl implements IXxlJobInfoDao {
}
}
@Override
@Override
public
int
delete
(
String
jobGroup
,
String
jobName
)
{
public
int
delete
(
int
jobGroup
,
String
jobName
)
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobName"
,
jobName
);
params
.
put
(
"jobName"
,
jobName
);
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/dao/impl/XxlJobLogDaoImpl.java
浏览文件 @
965a0aed
package
com
.
xxl
.
job
.
admin
.
dao
.
impl
;
package
com
.
xxl
.
job
.
admin
.
dao
.
impl
;
import
java.util.Date
;
import
com.xxl.job.admin.core.model.XxlJobLog
;
import
java.util.HashMap
;
import
com.xxl.job.admin.dao.IXxlJobLogDao
;
import
java.util.List
;
import
javax.annotation.Resource
;
import
org.mybatis.spring.SqlSessionTemplate
;
import
org.mybatis.spring.SqlSessionTemplate
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
com.xxl.job.admin.core.model.XxlJobLog
;
import
javax.annotation.Resource
;
import
com.xxl.job.admin.dao.IXxlJobLogDao
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
/**
/**
* job log
* job log
...
@@ -23,7 +21,7 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao {
...
@@ -23,7 +21,7 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao {
public
SqlSessionTemplate
sqlSessionTemplate
;
public
SqlSessionTemplate
sqlSessionTemplate
;
@Override
@Override
public
List
<
XxlJobLog
>
pageList
(
int
offset
,
int
pagesize
,
String
jobGroup
,
String
jobName
,
Date
triggerTimeStart
,
Date
triggerTimeEnd
)
{
public
List
<
XxlJobLog
>
pageList
(
int
offset
,
int
pagesize
,
int
jobGroup
,
String
jobName
,
Date
triggerTimeStart
,
Date
triggerTimeEnd
)
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"offset"
,
offset
);
params
.
put
(
"offset"
,
offset
);
params
.
put
(
"pagesize"
,
pagesize
);
params
.
put
(
"pagesize"
,
pagesize
);
...
@@ -36,7 +34,7 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao {
...
@@ -36,7 +34,7 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao {
}
}
@Override
@Override
public
int
pageListCount
(
int
offset
,
int
pagesize
,
String
jobGroup
,
String
jobName
,
Date
triggerTimeStart
,
Date
triggerTimeEnd
)
{
public
int
pageListCount
(
int
offset
,
int
pagesize
,
int
jobGroup
,
String
jobName
,
Date
triggerTimeStart
,
Date
triggerTimeEnd
)
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"offset"
,
offset
);
params
.
put
(
"offset"
,
offset
);
params
.
put
(
"pagesize"
,
pagesize
);
params
.
put
(
"pagesize"
,
pagesize
);
...
@@ -52,14 +50,6 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao {
...
@@ -52,14 +50,6 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao {
public
XxlJobLog
load
(
int
id
)
{
public
XxlJobLog
load
(
int
id
)
{
return
sqlSessionTemplate
.
selectOne
(
"XxlJobLogMapper.load"
,
id
);
return
sqlSessionTemplate
.
selectOne
(
"XxlJobLogMapper.load"
,
id
);
}
}
@Override
public
XxlJobLog
loadByGroupAndName
(
String
jobGroup
,
String
jobName
)
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobName"
,
jobName
);
return
sqlSessionTemplate
.
selectOne
(
"XxlJobLogMapper.loadByGroupAndName"
,
params
);
}
@Override
@Override
public
int
save
(
XxlJobLog
xxlJobLog
)
{
public
int
save
(
XxlJobLog
xxlJobLog
)
{
...
@@ -83,7 +73,7 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao {
...
@@ -83,7 +73,7 @@ public class XxlJobLogDaoImpl implements IXxlJobLogDao {
}
}
@Override
@Override
public
int
delete
(
String
jobGroup
,
String
jobName
)
{
public
int
delete
(
int
jobGroup
,
String
jobName
)
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobName"
,
jobName
);
params
.
put
(
"jobName"
,
jobName
);
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/dao/impl/XxlJobLogGlueDaoImpl.java
浏览文件 @
965a0aed
package
com
.
xxl
.
job
.
admin
.
dao
.
impl
;
package
com
.
xxl
.
job
.
admin
.
dao
.
impl
;
import
java.util.HashMap
;
import
com.xxl.job.admin.core.model.XxlJobLogGlue
;
import
java.util.List
;
import
com.xxl.job.admin.dao.IXxlJobLogGlueDao
;
import
javax.annotation.Resource
;
import
org.mybatis.spring.SqlSessionTemplate
;
import
org.mybatis.spring.SqlSessionTemplate
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
com.xxl.job.admin.core.model.XxlJobLogGlue
;
import
javax.annotation.Resource
;
import
com.xxl.job.admin.dao.IXxlJobLogGlueDao
;
import
java.util.HashMap
;
import
java.util.List
;
/**
/**
* job log for glue
* job log for glue
...
@@ -27,7 +25,7 @@ public class XxlJobLogGlueDaoImpl implements IXxlJobLogGlueDao {
...
@@ -27,7 +25,7 @@ public class XxlJobLogGlueDaoImpl implements IXxlJobLogGlueDao {
}
}
@Override
@Override
public
List
<
XxlJobLogGlue
>
selectList
(
String
jobGroup
,
String
jobName
)
{
public
List
<
XxlJobLogGlue
>
selectList
(
int
jobGroup
,
String
jobName
)
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobName"
,
jobName
);
params
.
put
(
"jobName"
,
jobName
);
...
@@ -35,7 +33,7 @@ public class XxlJobLogGlueDaoImpl implements IXxlJobLogGlueDao {
...
@@ -35,7 +33,7 @@ public class XxlJobLogGlueDaoImpl implements IXxlJobLogGlueDao {
}
}
@Override
@Override
public
int
removeOld
(
String
jobGroup
,
String
jobName
,
int
limit
)
{
public
int
removeOld
(
int
jobGroup
,
String
jobName
,
int
limit
)
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobName"
,
jobName
);
params
.
put
(
"jobName"
,
jobName
);
...
@@ -44,7 +42,7 @@ public class XxlJobLogGlueDaoImpl implements IXxlJobLogGlueDao {
...
@@ -44,7 +42,7 @@ public class XxlJobLogGlueDaoImpl implements IXxlJobLogGlueDao {
}
}
@Override
@Override
public
int
delete
(
String
jobGroup
,
String
jobName
)
{
public
int
delete
(
int
jobGroup
,
String
jobName
)
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobGroup"
,
jobGroup
);
params
.
put
(
"jobName"
,
jobName
);
params
.
put
(
"jobName"
,
jobName
);
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/service/IXxlJobService.java
浏览文件 @
965a0aed
...
@@ -11,7 +11,7 @@ import java.util.Map;
...
@@ -11,7 +11,7 @@ import java.util.Map;
*/
*/
public
interface
IXxlJobService
{
public
interface
IXxlJobService
{
public
Map
<
String
,
Object
>
pageList
(
int
start
,
int
length
,
String
jobGroup
,
String
executorHandler
,
String
filterTime
);
public
Map
<
String
,
Object
>
pageList
(
int
start
,
int
length
,
int
jobGroup
,
String
executorHandler
,
String
filterTime
);
public
ReturnT
<
String
>
add
(
int
jobGroup
,
String
jobCron
,
String
jobDesc
,
String
author
,
String
alarmEmail
,
public
ReturnT
<
String
>
add
(
int
jobGroup
,
String
jobCron
,
String
jobDesc
,
String
author
,
String
alarmEmail
,
String
executorAddress
,
String
executorHandler
,
String
executorParam
,
String
executorAddress
,
String
executorHandler
,
String
executorParam
,
...
@@ -20,12 +20,12 @@ public interface IXxlJobService {
...
@@ -20,12 +20,12 @@ public interface IXxlJobService {
public
ReturnT
<
String
>
reschedule
(
int
jobGroup
,
String
jobName
,
String
jobCron
,
String
jobDesc
,
String
author
,
String
alarmEmail
,
public
ReturnT
<
String
>
reschedule
(
int
jobGroup
,
String
jobName
,
String
jobCron
,
String
jobDesc
,
String
author
,
String
alarmEmail
,
String
executorAddress
,
String
executorHandler
,
String
executorParam
,
int
glueSwitch
,
String
childJobKey
);
String
executorAddress
,
String
executorHandler
,
String
executorParam
,
int
glueSwitch
,
String
childJobKey
);
public
ReturnT
<
String
>
remove
(
String
jobGroup
,
String
jobName
);
public
ReturnT
<
String
>
remove
(
int
jobGroup
,
String
jobName
);
public
ReturnT
<
String
>
pause
(
String
jobGroup
,
String
jobName
);
public
ReturnT
<
String
>
pause
(
int
jobGroup
,
String
jobName
);
public
ReturnT
<
String
>
resume
(
String
jobGroup
,
String
jobName
);
public
ReturnT
<
String
>
resume
(
int
jobGroup
,
String
jobName
);
public
ReturnT
<
String
>
triggerJob
(
String
jobGroup
,
String
jobName
);
public
ReturnT
<
String
>
triggerJob
(
int
jobGroup
,
String
jobName
);
}
}
xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java
浏览文件 @
965a0aed
...
@@ -42,7 +42,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
...
@@ -42,7 +42,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
private
IXxlJobLogGlueDao
xxlJobLogGlueDao
;
private
IXxlJobLogGlueDao
xxlJobLogGlueDao
;
@Override
@Override
public
Map
<
String
,
Object
>
pageList
(
int
start
,
int
length
,
String
jobGroup
,
String
executorHandler
,
String
filterTime
)
{
public
Map
<
String
,
Object
>
pageList
(
int
start
,
int
length
,
int
jobGroup
,
String
executorHandler
,
String
filterTime
)
{
// page list
// page list
List
<
XxlJobInfo
>
list
=
xxlJobInfoDao
.
pageList
(
start
,
length
,
jobGroup
,
executorHandler
);
List
<
XxlJobInfo
>
list
=
xxlJobInfoDao
.
pageList
(
start
,
length
,
jobGroup
,
executorHandler
);
...
@@ -96,7 +96,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
...
@@ -96,7 +96,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
if
(
childJobKeyArr
.
length
!=
2
)
{
if
(
childJobKeyArr
.
length
!=
2
)
{
return
new
ReturnT
<
String
>(
500
,
MessageFormat
.
format
(
"子任务Key({0})格式错误"
,
childJobKeyItem
));
return
new
ReturnT
<
String
>(
500
,
MessageFormat
.
format
(
"子任务Key({0})格式错误"
,
childJobKeyItem
));
}
}
XxlJobInfo
childJobInfo
=
xxlJobInfoDao
.
load
(
childJobKeyArr
[
0
]
,
childJobKeyArr
[
1
]);
XxlJobInfo
childJobInfo
=
xxlJobInfoDao
.
load
(
Integer
.
valueOf
(
childJobKeyArr
[
0
])
,
childJobKeyArr
[
1
]);
if
(
childJobInfo
==
null
)
{
if
(
childJobInfo
==
null
)
{
return
new
ReturnT
<
String
>(
500
,
MessageFormat
.
format
(
"子任务Key({0})无效"
,
childJobKeyItem
));
return
new
ReturnT
<
String
>(
500
,
MessageFormat
.
format
(
"子任务Key({0})无效"
,
childJobKeyItem
));
}
}
...
@@ -116,13 +116,12 @@ public class XxlJobServiceImpl implements IXxlJobService {
...
@@ -116,13 +116,12 @@ public class XxlJobServiceImpl implements IXxlJobService {
// Backup to the database
// Backup to the database
XxlJobInfo
jobInfo
=
new
XxlJobInfo
();
XxlJobInfo
jobInfo
=
new
XxlJobInfo
();
jobInfo
.
setJobGroup
(
String
.
valueOf
(
jobGroup
)
);
jobInfo
.
setJobGroup
(
jobGroup
);
jobInfo
.
setJobName
(
jobName
);
jobInfo
.
setJobName
(
jobName
);
jobInfo
.
setJobCron
(
jobCron
);
jobInfo
.
setJobCron
(
jobCron
);
jobInfo
.
setJobDesc
(
jobDesc
);
jobInfo
.
setJobDesc
(
jobDesc
);
jobInfo
.
setAuthor
(
author
);
jobInfo
.
setAuthor
(
author
);
jobInfo
.
setAlarmEmail
(
alarmEmail
);
jobInfo
.
setAlarmEmail
(
alarmEmail
);
jobInfo
.
setExecutorAddress
(
executorAddress
);
jobInfo
.
setExecutorHandler
(
executorHandler
);
jobInfo
.
setExecutorHandler
(
executorHandler
);
jobInfo
.
setExecutorParam
(
executorParam
);
jobInfo
.
setExecutorParam
(
executorParam
);
jobInfo
.
setGlueSwitch
(
glueSwitch
);
jobInfo
.
setGlueSwitch
(
glueSwitch
);
...
@@ -132,7 +131,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
...
@@ -132,7 +131,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
try
{
try
{
// add job 2 quartz
// add job 2 quartz
boolean
result
=
DynamicSchedulerUtil
.
addJob
(
jobInfo
);
boolean
result
=
DynamicSchedulerUtil
.
addJob
(
String
.
valueOf
(
jobGroup
),
jobName
,
jobCron
);
if
(
result
)
{
if
(
result
)
{
xxlJobInfoDao
.
save
(
jobInfo
);
xxlJobInfoDao
.
save
(
jobInfo
);
return
ReturnT
.
SUCCESS
;
return
ReturnT
.
SUCCESS
;
...
@@ -181,7 +180,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
...
@@ -181,7 +180,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
if
(
childJobKeyArr
.
length
!=
2
)
{
if
(
childJobKeyArr
.
length
!=
2
)
{
return
new
ReturnT
<
String
>(
500
,
MessageFormat
.
format
(
"子任务Key({0})格式错误"
,
childJobKeyItem
));
return
new
ReturnT
<
String
>(
500
,
MessageFormat
.
format
(
"子任务Key({0})格式错误"
,
childJobKeyItem
));
}
}
XxlJobInfo
childJobInfo
=
xxlJobInfoDao
.
load
(
childJobKeyArr
[
0
]
,
childJobKeyArr
[
1
]);
XxlJobInfo
childJobInfo
=
xxlJobInfoDao
.
load
(
Integer
.
valueOf
(
childJobKeyArr
[
0
])
,
childJobKeyArr
[
1
]);
if
(
childJobInfo
==
null
)
{
if
(
childJobInfo
==
null
)
{
return
new
ReturnT
<
String
>(
500
,
MessageFormat
.
format
(
"子任务Key({0})无效"
,
childJobKeyItem
));
return
new
ReturnT
<
String
>(
500
,
MessageFormat
.
format
(
"子任务Key({0})无效"
,
childJobKeyItem
));
}
}
...
@@ -189,12 +188,11 @@ public class XxlJobServiceImpl implements IXxlJobService {
...
@@ -189,12 +188,11 @@ public class XxlJobServiceImpl implements IXxlJobService {
}
}
// stage job info
// stage job info
XxlJobInfo
jobInfo
=
xxlJobInfoDao
.
load
(
String
.
valueOf
(
jobGroup
)
,
jobName
);
XxlJobInfo
jobInfo
=
xxlJobInfoDao
.
load
(
jobGroup
,
jobName
);
jobInfo
.
setJobCron
(
jobCron
);
jobInfo
.
setJobCron
(
jobCron
);
jobInfo
.
setJobDesc
(
jobDesc
);
jobInfo
.
setJobDesc
(
jobDesc
);
jobInfo
.
setAuthor
(
author
);
jobInfo
.
setAuthor
(
author
);
jobInfo
.
setAlarmEmail
(
alarmEmail
);
jobInfo
.
setAlarmEmail
(
alarmEmail
);
jobInfo
.
setExecutorAddress
(
executorAddress
);
jobInfo
.
setExecutorHandler
(
executorHandler
);
jobInfo
.
setExecutorHandler
(
executorHandler
);
jobInfo
.
setExecutorParam
(
executorParam
);
jobInfo
.
setExecutorParam
(
executorParam
);
jobInfo
.
setGlueSwitch
(
glueSwitch
);
jobInfo
.
setGlueSwitch
(
glueSwitch
);
...
@@ -202,7 +200,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
...
@@ -202,7 +200,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
try
{
try
{
// fresh quartz
// fresh quartz
boolean
ret
=
DynamicSchedulerUtil
.
rescheduleJob
(
jobInfo
);
boolean
ret
=
DynamicSchedulerUtil
.
rescheduleJob
(
String
.
valueOf
(
jobGroup
),
jobName
,
jobCron
);
if
(
ret
)
{
if
(
ret
)
{
xxlJobInfoDao
.
update
(
jobInfo
);
xxlJobInfoDao
.
update
(
jobInfo
);
return
ReturnT
.
SUCCESS
;
return
ReturnT
.
SUCCESS
;
...
@@ -216,9 +214,9 @@ public class XxlJobServiceImpl implements IXxlJobService {
...
@@ -216,9 +214,9 @@ public class XxlJobServiceImpl implements IXxlJobService {
}
}
@Override
@Override
public
ReturnT
<
String
>
remove
(
String
jobGroup
,
String
jobName
)
{
public
ReturnT
<
String
>
remove
(
int
jobGroup
,
String
jobName
)
{
try
{
try
{
DynamicSchedulerUtil
.
removeJob
(
jobName
,
jobGroup
);
DynamicSchedulerUtil
.
removeJob
(
jobName
,
String
.
valueOf
(
jobGroup
)
);
xxlJobInfoDao
.
delete
(
jobGroup
,
jobName
);
xxlJobInfoDao
.
delete
(
jobGroup
,
jobName
);
xxlJobLogDao
.
delete
(
jobGroup
,
jobName
);
xxlJobLogDao
.
delete
(
jobGroup
,
jobName
);
xxlJobLogGlueDao
.
delete
(
jobGroup
,
jobName
);
xxlJobLogGlueDao
.
delete
(
jobGroup
,
jobName
);
...
@@ -230,9 +228,9 @@ public class XxlJobServiceImpl implements IXxlJobService {
...
@@ -230,9 +228,9 @@ public class XxlJobServiceImpl implements IXxlJobService {
}
}
@Override
@Override
public
ReturnT
<
String
>
pause
(
String
jobGroup
,
String
jobName
)
{
public
ReturnT
<
String
>
pause
(
int
jobGroup
,
String
jobName
)
{
try
{
try
{
DynamicSchedulerUtil
.
pauseJob
(
jobName
,
jobGroup
);
// jobStatus do not store
DynamicSchedulerUtil
.
pauseJob
(
jobName
,
String
.
valueOf
(
jobGroup
)
);
// jobStatus do not store
return
ReturnT
.
SUCCESS
;
return
ReturnT
.
SUCCESS
;
}
catch
(
SchedulerException
e
)
{
}
catch
(
SchedulerException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
...
@@ -241,9 +239,9 @@ public class XxlJobServiceImpl implements IXxlJobService {
...
@@ -241,9 +239,9 @@ public class XxlJobServiceImpl implements IXxlJobService {
}
}
@Override
@Override
public
ReturnT
<
String
>
resume
(
String
jobGroup
,
String
jobName
)
{
public
ReturnT
<
String
>
resume
(
int
jobGroup
,
String
jobName
)
{
try
{
try
{
DynamicSchedulerUtil
.
resumeJob
(
jobName
,
jobGroup
);
DynamicSchedulerUtil
.
resumeJob
(
jobName
,
String
.
valueOf
(
jobGroup
)
);
return
ReturnT
.
SUCCESS
;
return
ReturnT
.
SUCCESS
;
}
catch
(
SchedulerException
e
)
{
}
catch
(
SchedulerException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
...
@@ -252,9 +250,9 @@ public class XxlJobServiceImpl implements IXxlJobService {
...
@@ -252,9 +250,9 @@ public class XxlJobServiceImpl implements IXxlJobService {
}
}
@Override
@Override
public
ReturnT
<
String
>
triggerJob
(
String
jobGroup
,
String
jobName
)
{
public
ReturnT
<
String
>
triggerJob
(
int
jobGroup
,
String
jobName
)
{
try
{
try
{
DynamicSchedulerUtil
.
triggerJob
(
jobName
,
jobGroup
);
DynamicSchedulerUtil
.
triggerJob
(
jobName
,
String
.
valueOf
(
jobGroup
)
);
return
ReturnT
.
SUCCESS
;
return
ReturnT
.
SUCCESS
;
}
catch
(
SchedulerException
e
)
{
}
catch
(
SchedulerException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
...
...
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml
浏览文件 @
965a0aed
...
@@ -17,7 +17,6 @@
...
@@ -17,7 +17,6 @@
<result
column=
"author"
property=
"author"
/>
<result
column=
"author"
property=
"author"
/>
<result
column=
"alarm_email"
property=
"alarmEmail"
/>
<result
column=
"alarm_email"
property=
"alarmEmail"
/>
<result
column=
"executor_address"
property=
"executorAddress"
/>
<result
column=
"executor_handler"
property=
"executorHandler"
/>
<result
column=
"executor_handler"
property=
"executorHandler"
/>
<result
column=
"executor_param"
property=
"executorParam"
/>
<result
column=
"executor_param"
property=
"executorParam"
/>
...
@@ -38,7 +37,6 @@
...
@@ -38,7 +37,6 @@
t.update_time,
t.update_time,
t.author,
t.author,
t.alarm_email,
t.alarm_email,
t.executor_address,
t.executor_handler,
t.executor_handler,
t.executor_param,
t.executor_param,
t.glue_switch,
t.glue_switch,
...
@@ -51,7 +49,7 @@
...
@@ -51,7 +49,7 @@
SELECT
<include
refid=
"Base_Column_List"
/>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM XXL_JOB_QRTZ_TRIGGER_INFO AS t
FROM XXL_JOB_QRTZ_TRIGGER_INFO AS t
<trim
prefix=
"WHERE"
prefixOverrides=
"AND | OR"
>
<trim
prefix=
"WHERE"
prefixOverrides=
"AND | OR"
>
<if
test=
"jobGroup
!= null and jobGroup != ''
"
>
<if
test=
"jobGroup
gt 0
"
>
AND t.job_group = #{jobGroup}
AND t.job_group = #{jobGroup}
</if>
</if>
<if
test=
"executorHandler != null and executorHandler != ''"
>
<if
test=
"executorHandler != null and executorHandler != ''"
>
...
@@ -66,7 +64,7 @@
...
@@ -66,7 +64,7 @@
SELECT count(1)
SELECT count(1)
FROM XXL_JOB_QRTZ_TRIGGER_INFO AS t
FROM XXL_JOB_QRTZ_TRIGGER_INFO AS t
<trim
prefix=
"WHERE"
prefixOverrides=
"AND | OR"
>
<trim
prefix=
"WHERE"
prefixOverrides=
"AND | OR"
>
<if
test=
"jobGroup
!= null and jobGroup != ''
"
>
<if
test=
"jobGroup
gt 0
"
>
AND t.job_group = #{jobGroup}
AND t.job_group = #{jobGroup}
</if>
</if>
<if
test=
"executorHandler != null and executorHandler != ''"
>
<if
test=
"executorHandler != null and executorHandler != ''"
>
...
@@ -85,7 +83,6 @@
...
@@ -85,7 +83,6 @@
update_time,
update_time,
author,
author,
alarm_email,
alarm_email,
executor_address,
executor_handler,
executor_handler,
executor_param,
executor_param,
glue_switch,
glue_switch,
...
@@ -101,7 +98,6 @@
...
@@ -101,7 +98,6 @@
NOW(),
NOW(),
#{author},
#{author},
#{alarmEmail},
#{alarmEmail},
#{executorAddress},
#{executorHandler},
#{executorHandler},
#{executorParam},
#{executorParam},
#{glueSwitch},
#{glueSwitch},
...
@@ -129,7 +125,6 @@
...
@@ -129,7 +125,6 @@
update_time = NOW(),
update_time = NOW(),
author = #{author},
author = #{author},
alarm_email = #{alarmEmail},
alarm_email = #{alarmEmail},
executor_address = #{executorAddress},
executor_handler = #{executorHandler},
executor_handler = #{executorHandler},
executor_param = #{executorParam},
executor_param = #{executorParam},
glue_switch = #{glueSwitch},
glue_switch = #{glueSwitch},
...
@@ -140,7 +135,7 @@
...
@@ -140,7 +135,7 @@
AND job_name = #{jobName}
AND job_name = #{jobName}
</update>
</update>
<delete
id=
"delete"
parameterType=
"java.
lang.String
"
>
<delete
id=
"delete"
parameterType=
"java.
util.HashMap
"
>
DELETE
DELETE
FROM
FROM
XXL_JOB_QRTZ_TRIGGER_INFO
XXL_JOB_QRTZ_TRIGGER_INFO
...
...
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogGlueMapper.xml
浏览文件 @
965a0aed
...
@@ -48,7 +48,7 @@
...
@@ -48,7 +48,7 @@
SELECT
<include
refid=
"Base_Column_List"
/>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM XXL_JOB_QRTZ_TRIGGER_LOGGLUE AS t
FROM XXL_JOB_QRTZ_TRIGGER_LOGGLUE AS t
<trim
prefix=
"WHERE"
prefixOverrides=
"AND | OR"
>
<trim
prefix=
"WHERE"
prefixOverrides=
"AND | OR"
>
<if
test=
"jobGroup
!= null and jobGroup != ''
"
>
<if
test=
"jobGroup
gt 0
"
>
AND t.job_group = #{jobGroup}
AND t.job_group = #{jobGroup}
</if>
</if>
<if
test=
"jobName != null and jobName != ''"
>
<if
test=
"jobName != null and jobName != ''"
>
...
...
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml
浏览文件 @
965a0aed
...
@@ -83,13 +83,7 @@
...
@@ -83,13 +83,7 @@
FROM XXL_JOB_QRTZ_TRIGGER_LOG AS t
FROM XXL_JOB_QRTZ_TRIGGER_LOG AS t
WHERE t.id = #{id}
WHERE t.id = #{id}
</select>
</select>
<select
id=
"loadByGroupAndName"
parameterType=
"java.util.HashMap"
resultMap=
"XxlJobLog"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM XXL_JOB_QRTZ_TRIGGER_LOG AS t
WHERE t.job_group = #{jobGroup}
AND t.job_name = #{jobName}
</select>
<insert
id=
"save"
parameterType=
"com.xxl.job.admin.core.model.XxlJobLog"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"save"
parameterType=
"com.xxl.job.admin.core.model.XxlJobLog"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
INSERT INTO XXL_JOB_QRTZ_TRIGGER_LOG (
INSERT INTO XXL_JOB_QRTZ_TRIGGER_LOG (
...
...
xxl-job-admin/src/main/webapp/WEB-INF/template/jobgroup/jobgroup.index.ftl
浏览文件 @
965a0aed
...
@@ -41,7 +41,7 @@
...
@@ -41,7 +41,7 @@
<th
name=
"appName"
>
AppName
</th>
<th
name=
"appName"
>
AppName
</th>
<th
name=
"title"
>
名称
</th>
<th
name=
"title"
>
名称
</th>
<th
name=
"order"
>
排序
</th>
<th
name=
"order"
>
排序
</th>
<th
name=
"registryList"
>
OnLine
</th>
<th
name=
"registryList"
>
OnLine
机器
</th>
<th
name=
"operate"
>
操作
</th>
<th
name=
"operate"
>
操作
</th>
</tr>
</tr>
</thead>
</thead>
...
...
xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl
浏览文件 @
965a0aed
...
@@ -78,7 +78,6 @@
...
@@ -78,7 +78,6 @@
<th
name=
"childJobKey"
>
任务Key
</th>
<th
name=
"childJobKey"
>
任务Key
</th>
<th
name=
"jobDesc"
>
描述
</th>
<th
name=
"jobDesc"
>
描述
</th>
<th
name=
"jobCron"
>
Cron
</th>
<th
name=
"jobCron"
>
Cron
</th>
<th
name=
"executorAddress"
>
执行器地址
</th>
<th
name=
"executorHandler"
>
JobJandler
</th>
<th
name=
"executorHandler"
>
JobJandler
</th>
<th
name=
"executorParam"
>
任务参数
</th>
<th
name=
"executorParam"
>
任务参数
</th>
<th
name=
"addTime"
>
新增时间
</th>
<th
name=
"addTime"
>
新增时间
</th>
...
@@ -122,21 +121,10 @@
...
@@ -122,21 +121,10 @@
</
#
list>
</
#
list>
</select>
</select>
</div>
</div>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
描述
<font
color=
"red"
>
*
</font></label>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
任务
描述
<font
color=
"red"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"jobDesc"
placeholder=
"请输入“描述”"
maxlength=
"50"
></div>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"jobDesc"
placeholder=
"请输入“描述”"
maxlength=
"50"
></div>
</div>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
执行器地址
<font
color=
"black"
>
*
</font></label>
<div
class=
"col-sm-4"
>
<div
class=
"input-group"
>
<input
type=
"text"
class=
"form-control"
name=
"executorAddress"
placeholder=
"请输入“执行器地址”,多个地址逗号分隔"
maxlength=
"50"
readonly
>
<span
class=
"input-group-addon"
><b>
AUTO
</b>
<input
type=
"checkbox"
class=
"addressAuto"
checked=
"checked"
></span>
</div>
</div>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
Cron
<font
color=
"red"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"jobCron"
placeholder=
"请输入“Cron”"
maxlength=
"20"
></div>
</div>
<div
class=
"form-group"
>
<label
for=
"firstname"
class=
"col-sm-2 control-label"
>
JobHandler
<font
color=
"red"
>
*
</font></label>
<label
for=
"firstname"
class=
"col-sm-2 control-label"
>
JobHandler
<font
color=
"red"
>
*
</font></label>
<div
class=
"col-sm-4"
>
<div
class=
"col-sm-4"
>
<div
class=
"input-group"
>
<div
class=
"input-group"
>
...
@@ -148,16 +136,18 @@
...
@@ -148,16 +136,18 @@
<label
for=
"firstname"
class=
"col-sm-2 control-label"
>
执行参数
<font
color=
"black"
>
*
</font></label>
<label
for=
"firstname"
class=
"col-sm-2 control-label"
>
执行参数
<font
color=
"black"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"executorParam"
placeholder=
"请输入“执行参数”"
maxlength=
"100"
></div>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"executorParam"
placeholder=
"请输入“执行参数”"
maxlength=
"100"
></div>
</div>
</div>
<div
class=
"form-group"
>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
Cron
<font
color=
"red"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"jobCron"
placeholder=
"请输入“Cron”"
maxlength=
"20"
></div>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
子任务Key
<font
color=
"black"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"childJobKey"
placeholder=
"请输入子任务的任务Key,如存在多个逗号分隔"
maxlength=
"100"
></div>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
报警邮件
<font
color=
"red"
>
*
</font></label>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
报警邮件
<font
color=
"red"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"alarmEmail"
placeholder=
"请输入“报警邮件”,多个邮件地址逗号分隔"
maxlength=
"100"
></div>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"alarmEmail"
placeholder=
"请输入“报警邮件”,多个邮件地址逗号分隔"
maxlength=
"100"
></div>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
负责人
<font
color=
"red"
>
*
</font></label>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
负责人
<font
color=
"red"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"author"
placeholder=
"请输入“负责人”"
maxlength=
"50"
></div>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"author"
placeholder=
"请输入“负责人”"
maxlength=
"50"
></div>
</div>
</div>
<div
class=
"form-group"
>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
子任务Key
<font
color=
"black"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"childJobKey"
placeholder=
"请输入子任务的任务Key,如存在多个逗号分隔"
maxlength=
"100"
></div>
</div>
<hr>
<hr>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<div
class=
"col-sm-offset-3 col-sm-6"
>
<div
class=
"col-sm-offset-3 col-sm-6"
>
...
@@ -206,20 +196,9 @@ public class DemoGlueJobHandler extends IJobHandler {
...
@@ -206,20 +196,9 @@ public class DemoGlueJobHandler extends IJobHandler {
<div
class=
"col-sm-4"
>
<div
class=
"col-sm-4"
>
<input
type=
"text"
class=
"form-control jobGroupTitle"
maxlength=
"50"
readonly
>
<input
type=
"text"
class=
"form-control jobGroupTitle"
maxlength=
"50"
readonly
>
</div>
</div>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
描述
<font
color=
"red"
>
*
</font></label>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
任务
描述
<font
color=
"red"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"jobDesc"
placeholder=
"请输入“描述”"
maxlength=
"50"
></div>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"jobDesc"
placeholder=
"请输入“描述”"
maxlength=
"50"
></div>
</div>
</div>
<div
class=
"form-group"
>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
执行器地址
<font
color=
"black"
>
*
</font></label>
<div
class=
"col-sm-4"
>
<div
class=
"input-group"
>
<input
type=
"text"
class=
"form-control"
name=
"executorAddress"
placeholder=
"请输入“执行器地址”,多个地址逗号分隔"
maxlength=
"50"
>
<span
class=
"input-group-addon"
><b>
AUTO
</b>
<input
type=
"checkbox"
class=
"addressAuto"
checked=
"checked"
></span>
</div>
</div>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
Cron
<font
color=
"red"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"jobCron"
placeholder=
"请输入“Cron”"
maxlength=
"20"
></div>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"firstname"
class=
"col-sm-2 control-label"
>
JobHandler
<font
color=
"red"
>
*
</font></label>
<label
for=
"firstname"
class=
"col-sm-2 control-label"
>
JobHandler
<font
color=
"red"
>
*
</font></label>
<div
class=
"col-sm-4"
>
<div
class=
"col-sm-4"
>
...
@@ -231,6 +210,12 @@ public class DemoGlueJobHandler extends IJobHandler {
...
@@ -231,6 +210,12 @@ public class DemoGlueJobHandler extends IJobHandler {
</div>
</div>
<label
for=
"firstname"
class=
"col-sm-2 control-label"
>
执行参数
<font
color=
"black"
>
*
</font></label>
<label
for=
"firstname"
class=
"col-sm-2 control-label"
>
执行参数
<font
color=
"black"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"executorParam"
placeholder=
"请输入“执行参数”"
maxlength=
"100"
></div>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"executorParam"
placeholder=
"请输入“执行参数”"
maxlength=
"100"
></div>
</div>
<div
class=
"form-group"
>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
Cron
<font
color=
"red"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"jobCron"
placeholder=
"请输入“Cron”"
maxlength=
"20"
></div>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
子任务Key
<font
color=
"black"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"childJobKey"
placeholder=
"请输入子任务的任务Key,如存在多个逗号分隔"
maxlength=
"100"
></div>
</div>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
报警邮件
<font
color=
"red"
>
*
</font></label>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
报警邮件
<font
color=
"red"
>
*
</font></label>
...
@@ -238,10 +223,6 @@ public class DemoGlueJobHandler extends IJobHandler {
...
@@ -238,10 +223,6 @@ public class DemoGlueJobHandler extends IJobHandler {
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
负责人
<font
color=
"red"
>
*
</font></label>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
负责人
<font
color=
"red"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"author"
placeholder=
"请输入“负责人”"
maxlength=
"50"
></div>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"author"
placeholder=
"请输入“负责人”"
maxlength=
"50"
></div>
</div>
</div>
<div
class=
"form-group"
>
<label
for=
"lastname"
class=
"col-sm-2 control-label"
>
子任务Key
<font
color=
"black"
>
*
</font></label>
<div
class=
"col-sm-4"
><input
type=
"text"
class=
"form-control"
name=
"childJobKey"
placeholder=
"请输入子任务的任务Key,如存在多个逗号分隔"
maxlength=
"100"
></div>
</div>
<hr>
<hr>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<div
class=
"col-sm-offset-3 col-sm-6"
>
<div
class=
"col-sm-offset-3 col-sm-6"
>
...
@@ -250,9 +231,6 @@ public class DemoGlueJobHandler extends IJobHandler {
...
@@ -250,9 +231,6 @@ public class DemoGlueJobHandler extends IJobHandler {
<input
type=
"hidden"
name=
"jobGroup"
>
<input
type=
"hidden"
name=
"jobGroup"
>
<input
type=
"hidden"
name=
"jobName"
>
<input
type=
"hidden"
name=
"jobName"
>
</div>
</div>
<div
class=
"col-sm-offset-0 col-sm-3"
>
启动注册
<input
type=
"checkbox"
class=
"ifAppName"
>
</div>
</div>
</div>
</form>
</form>
</div>
</div>
...
...
xxl-job-admin/src/main/webapp/WEB-INF/template/joblog/joblog.index.ftl
浏览文件 @
965a0aed
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
<div
class=
"input-group"
>
<div
class=
"input-group"
>
<span
class=
"input-group-addon"
>
执行器
</span>
<span
class=
"input-group-addon"
>
执行器
</span>
<select
class=
"form-control"
id=
"jobGroup"
paramVal=
"${jobGroup}"
>
<select
class=
"form-control"
id=
"jobGroup"
paramVal=
"${jobGroup}"
>
<option
value=
""
selected
>
请选择
</option>
<option
value=
"
0
"
selected
>
请选择
</option>
<
#
list
JobGroupList
as
group
>
<
#
list
JobGroupList
as
group
>
<option
value=
"${group.id}"
<#
if
jobGroup =
=
group
.
appName
&&
false
>
selected
</
#
if>
>${group.title}
</option>
<option
value=
"${group.id}"
<#
if
jobGroup =
=
group
.
appName
&&
false
>
selected
</
#
if>
>${group.title}
</option>
</
#
list>
</
#
list>
...
...
xxl-job-admin/src/main/webapp/static/js/jobinfo.index.1.js
浏览文件 @
965a0aed
...
@@ -45,7 +45,6 @@ $(function() {
...
@@ -45,7 +45,6 @@ $(function() {
},
},
{
"data"
:
'jobDesc'
,
"visible"
:
true
},
{
"data"
:
'jobDesc'
,
"visible"
:
true
},
{
"data"
:
'jobCron'
,
"visible"
:
true
},
{
"data"
:
'jobCron'
,
"visible"
:
true
},
{
"data"
:
'executorAddress'
,
"visible"
:
false
},
{
{
"data"
:
'executorHandler'
,
"data"
:
'executorHandler'
,
"visible"
:
true
,
"visible"
:
true
,
...
@@ -113,7 +112,6 @@ $(function() {
...
@@ -113,7 +112,6 @@ $(function() {
' jobDesc="'
+
row
.
jobDesc
+
'" '
+
' jobDesc="'
+
row
.
jobDesc
+
'" '
+
' author="'
+
row
.
author
+
'" '
+
' author="'
+
row
.
author
+
'" '
+
' alarmEmail="'
+
row
.
alarmEmail
+
'" '
+
' alarmEmail="'
+
row
.
alarmEmail
+
'" '
+
' executorAddress="'
+
row
.
executorAddress
+
'" '
+
' executorHandler="'
+
row
.
executorHandler
+
'" '
+
' executorHandler="'
+
row
.
executorHandler
+
'" '
+
' executorParam="'
+
row
.
executorParam
+
'" '
+
' executorParam="'
+
row
.
executorParam
+
'" '
+
' glueSwitch="'
+
row
.
glueSwitch
+
'" '
+
' glueSwitch="'
+
row
.
glueSwitch
+
'" '
+
...
@@ -239,9 +237,6 @@ $(function() {
...
@@ -239,9 +237,6 @@ $(function() {
},
},
jobCron
:
{
jobCron
:
{
required
:
true
required
:
true
},
executorAddress
:
{
required
:
true
},
},
executorHandler
:
{
executorHandler
:
{
required
:
false
required
:
false
...
@@ -259,9 +254,6 @@ $(function() {
...
@@ -259,9 +254,6 @@ $(function() {
},
},
jobCron
:
{
jobCron
:
{
required
:
"请输入“Cron”."
required
:
"请输入“Cron”."
},
executorAddress
:
{
required
:
"请输入“执行器地址”."
},
},
executorHandler
:
{
executorHandler
:
{
required
:
"请输入“jobHandler”."
required
:
"请输入“jobHandler”."
...
@@ -312,19 +304,6 @@ $(function() {
...
@@ -312,19 +304,6 @@ $(function() {
$
(
"#addModal .form input[name='executorHandler']"
).
removeAttr
(
"readonly"
);
$
(
"#addModal .form input[name='executorHandler']"
).
removeAttr
(
"readonly"
);
});
});
// Auto 注册模式
$
(
".addressAuto"
).
click
(
function
(){
var
addressAuto
=
$
(
this
).
is
(
':checked'
);
var
$executorAddress
=
$
(
this
).
parents
(
"form"
).
find
(
"input[name='executorAddress']"
);
if
(
addressAuto
)
{
$executorAddress
.
val
(
""
);
$executorAddress
.
attr
(
"readonly"
,
"readonly"
);
}
else
{
$executorAddress
.
val
(
""
);
$executorAddress
.
removeAttr
(
"readonly"
);
}
});
// GLUE模式开启
// GLUE模式开启
$
(
".ifGLUE"
).
click
(
function
(){
$
(
".ifGLUE"
).
click
(
function
(){
var
ifGLUE
=
$
(
this
).
is
(
':checked'
);
var
ifGLUE
=
$
(
this
).
is
(
':checked'
);
...
@@ -350,23 +329,10 @@ $(function() {
...
@@ -350,23 +329,10 @@ $(function() {
$
(
"#updateModal .form input[name='jobCron']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"jobCron"
));
$
(
"#updateModal .form input[name='jobCron']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"jobCron"
));
$
(
"#updateModal .form input[name='author']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"author"
));
$
(
"#updateModal .form input[name='author']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"author"
));
$
(
"#updateModal .form input[name='alarmEmail']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"alarmEmail"
));
$
(
"#updateModal .form input[name='alarmEmail']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"alarmEmail"
));
$
(
"#updateModal .form input[name='executorAddress']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"executorAddress"
));
$
(
"#updateModal .form input[name='executorHandler']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"executorHandler"
));
$
(
"#updateModal .form input[name='executorHandler']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"executorHandler"
));
$
(
"#updateModal .form input[name='executorParam']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"executorParam"
));
$
(
"#updateModal .form input[name='executorParam']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"executorParam"
));
$
(
"#updateModal .form input[name='childJobKey']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"childJobKey"
));
$
(
"#updateModal .form input[name='childJobKey']"
).
val
(
$
(
this
).
parent
(
'p'
).
attr
(
"childJobKey"
));
// addressAuto
var
executorAddress
=
$
(
this
).
parent
(
'p'
).
attr
(
"executorAddress"
);
var
$addressAuto
=
$
(
"#updateModal .addressAuto"
);
var
$executorAddress
=
$
(
"#updateModal .form input[name='executorAddress']"
);
if
(
executorAddress
)
{
$addressAuto
.
attr
(
"checked"
,
false
);
$executorAddress
.
removeAttr
(
"readonly"
);
}
else
{
$addressAuto
.
attr
(
"checked"
,
true
);
$executorAddress
.
attr
(
"readonly"
,
"readonly"
);
}
// jobGroupTitle
// jobGroupTitle
var
jobGroupTitle
=
$
(
"#addModal .form select[name='jobGroup']"
).
find
(
"option[value='"
+
$
(
this
).
parent
(
'p'
).
attr
(
"jobGroup"
)
+
"']"
).
text
();
var
jobGroupTitle
=
$
(
"#addModal .form select[name='jobGroup']"
).
find
(
"option[value='"
+
$
(
this
).
parent
(
'p'
).
attr
(
"jobGroup"
)
+
"']"
).
text
();
$
(
"#updateModal .form .jobGroupTitle"
).
val
(
jobGroupTitle
);
$
(
"#updateModal .form .jobGroupTitle"
).
val
(
jobGroupTitle
);
...
@@ -401,9 +367,6 @@ $(function() {
...
@@ -401,9 +367,6 @@ $(function() {
jobCron
:
{
jobCron
:
{
required
:
true
required
:
true
},
},
executorAddress
:
{
required
:
false
},
executorHandler
:
{
executorHandler
:
{
required
:
false
required
:
false
},
},
...
@@ -421,9 +384,6 @@ $(function() {
...
@@ -421,9 +384,6 @@ $(function() {
jobCron
:
{
jobCron
:
{
required
:
"请输入“Cron”."
required
:
"请输入“Cron”."
},
},
executorAddress
:
{
required
:
"请输入“执行器地址”."
},
executorHandler
:
{
executorHandler
:
{
required
:
"请输入“jobHandler”."
required
:
"请输入“jobHandler”."
},
},
...
...
xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java
浏览文件 @
965a0aed
...
@@ -19,8 +19,8 @@ public class XxlJobInfoTest {
...
@@ -19,8 +19,8 @@ public class XxlJobInfoTest {
@Test
@Test
public
void
pageList
(){
public
void
pageList
(){
List
<
XxlJobInfo
>
list
=
xxlJobInfoDao
.
pageList
(
0
,
20
,
null
,
null
);
List
<
XxlJobInfo
>
list
=
xxlJobInfoDao
.
pageList
(
0
,
20
,
0
,
null
);
int
list_count
=
xxlJobInfoDao
.
pageListCount
(
0
,
20
,
null
,
null
);
int
list_count
=
xxlJobInfoDao
.
pageListCount
(
0
,
20
,
0
,
null
);
System
.
out
.
println
(
list
);
System
.
out
.
println
(
list
);
System
.
out
.
println
(
list_count
);
System
.
out
.
println
(
list_count
);
...
@@ -35,13 +35,13 @@ public class XxlJobInfoTest {
...
@@ -35,13 +35,13 @@ public class XxlJobInfoTest {
System
.
out
.
println
(
count
);
System
.
out
.
println
(
count
);
System
.
out
.
println
(
info
.
getId
());
System
.
out
.
println
(
info
.
getId
());
XxlJobInfo
item
=
xxlJobInfoDao
.
load
(
null
,
"job_name"
);
XxlJobInfo
item
=
xxlJobInfoDao
.
load
(
0
,
"job_name"
);
System
.
out
.
println
(
item
);
System
.
out
.
println
(
item
);
}
}
@Test
@Test
public
void
update
(){
public
void
update
(){
XxlJobInfo
item
=
xxlJobInfoDao
.
load
(
null
,
"job_name"
);
XxlJobInfo
item
=
xxlJobInfoDao
.
load
(
0
,
"job_name"
);
item
.
setJobCron
(
"jobCron2"
);
item
.
setJobCron
(
"jobCron2"
);
xxlJobInfoDao
.
update
(
item
);
xxlJobInfoDao
.
update
(
item
);
...
...
xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogTest.java
浏览文件 @
965a0aed
...
@@ -51,8 +51,8 @@ public class XxlJobLogTest {
...
@@ -51,8 +51,8 @@ public class XxlJobLogTest {
@Test
@Test
public
void
pageList
(){
public
void
pageList
(){
List
<
XxlJobLog
>
list
=
xxlJobLogDao
.
pageList
(
0
,
20
,
null
,
null
,
null
,
null
);
List
<
XxlJobLog
>
list
=
xxlJobLogDao
.
pageList
(
0
,
20
,
0
,
null
,
null
,
null
);
int
list_count
=
xxlJobLogDao
.
pageListCount
(
0
,
20
,
null
,
null
,
null
,
null
);
int
list_count
=
xxlJobLogDao
.
pageListCount
(
0
,
20
,
0
,
null
,
null
,
null
);
System
.
out
.
println
(
list
);
System
.
out
.
println
(
list
);
System
.
out
.
println
(
list_count
);
System
.
out
.
println
(
list_count
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论