diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java index f46f9056..176b5bbb 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java @@ -53,7 +53,7 @@ public class JobInfoController { int glueSwitch, String glueSource, String glueRemark, String childJobKey) { return xxlJobService.add(jobGroup, jobCron, jobDesc, author, alarmEmail, - executorAppname, executorAddress, executorHandler, executorParam, + executorAddress, executorHandler, executorParam, glueSwitch, glueSource, glueRemark, childJobKey); } @@ -64,7 +64,7 @@ public class JobInfoController { int glueSwitch, String childJobKey) { return xxlJobService.reschedule(jobGroup, jobName, jobCron, jobDesc, author, alarmEmail, - executorAppname, executorAddress, executorHandler, executorParam, glueSwitch, childJobKey); + executorAddress, executorHandler, executorParam, glueSwitch, childJobKey); } @RequestMapping("/remove") diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java index 692c18cf..bb5dc72d 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java @@ -1,6 +1,7 @@ package com.xxl.job.admin.core.jobbean; import com.xxl.job.admin.core.callback.XxlJobLogCallbackServer; +import com.xxl.job.admin.core.model.XxlJobGroup; import com.xxl.job.admin.core.model.XxlJobInfo; import com.xxl.job.admin.core.model.XxlJobLog; import com.xxl.job.admin.core.thread.JobMonitorHelper; @@ -67,13 +68,16 @@ public class RemoteHttpJobBean extends QuartzJobBean { // parse address List addressList = new ArrayList(); String parseAddressMsg = null; - if (StringUtils.isNotBlank(jobInfo.getExecutorAppname())) { - addressList = JobRegistryHelper.discover(RegistHelper.RegistType.EXECUTOR.name(), jobInfo.getExecutorAppname()); - parseAddressMsg = MessageFormat.format("Parse Address (Appname注册方式)
>>>[address list] : {0}

", addressList); - } else { + if (StringUtils.isNotBlank(jobInfo.getExecutorAddress())) { List addressArr = Arrays.asList(jobInfo.getExecutorAddress().split(",")); addressList.addAll(addressArr); parseAddressMsg = MessageFormat.format("Parse Address (地址配置方式)
>>>[address list] : {0}

", addressList); + } else { + XxlJobGroup group = DynamicSchedulerUtil.xxlJobGroupDao.load(jobInfo.getJobGroup()); + if (group!=null) { + addressList = JobRegistryHelper.discover(RegistHelper.RegistType.EXECUTOR.name(), group.getAppName()); + } + parseAddressMsg = MessageFormat.format("Parse Address (Appname注册方式)
>>>[address list] : {0}

", addressList); } // failover trigger diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java index 148563d7..0ebfa6a6 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java @@ -21,7 +21,6 @@ public class XxlJobInfo { private String author; // 负责人 private String alarmEmail; // 报警邮件 - private String executorAppname; // 执行器对应的AppName private String executorAddress; // 执行器地址,有多个则逗号分隔 private String executorHandler; // 执行器,任务Handler名称 private String executorParam; // 执行器,任务参数 @@ -107,14 +106,6 @@ public class XxlJobInfo { this.alarmEmail = alarmEmail; } - public String getExecutorAppname() { - return executorAppname; - } - - public void setExecutorAppname(String executorAppname) { - this.executorAppname = executorAppname; - } - public String getExecutorAddress() { return executorAddress; } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/IXxlJobService.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/IXxlJobService.java index 1d11576b..ddfd8e7b 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/IXxlJobService.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/IXxlJobService.java @@ -14,11 +14,11 @@ public interface IXxlJobService { public Map pageList(int start, int length, String jobGroup, String executorHandler, String filterTime); public ReturnT add(String jobGroup, String jobCron, String jobDesc,String author, String alarmEmail, - String executorAppname, String executorAddress, String executorHandler, String executorParam, + String executorAddress, String executorHandler, String executorParam, int glueSwitch, String glueSource, String glueRemark, String childJobKey); public ReturnT reschedule(String jobGroup, String jobName, String jobCron, String jobDesc, String author, String alarmEmail, - String executorAppname, String executorAddress, String executorHandler, String executorParam, int glueSwitch, String childJobKey); + String executorAddress, String executorHandler, String executorParam, int glueSwitch, String childJobKey); public ReturnT remove(String jobGroup, String jobName); diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java index 3a9d90cc..3cc9ec74 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java @@ -65,7 +65,7 @@ public class XxlJobServiceImpl implements IXxlJobService { @Override public ReturnT add(String jobGroup, String jobCron, String jobDesc,String author, String alarmEmail, - String executorAppname, String executorAddress, String executorHandler, String executorParam, + String executorAddress, String executorHandler, String executorParam, int glueSwitch, String glueSource, String glueRemark, String childJobKey) { // valid XxlJobGroup group = xxlJobGroupDao.load(jobGroup); @@ -84,12 +84,6 @@ public class XxlJobServiceImpl implements IXxlJobService { if (StringUtils.isBlank(alarmEmail)) { return new ReturnT(500, "请输入“报警邮件”"); } - if (StringUtils.isBlank(executorAppname) && StringUtils.isBlank(executorAddress)) { - return new ReturnT(500, "“执行器AppName”和“执行器地址”不可同时为空"); - } - if (StringUtils.isNotBlank(executorAppname) && StringUtils.isNotBlank(executorAddress)) { - return new ReturnT(500, "“执行器AppName”和“执行器地址” 不可同时使用"); - } if (glueSwitch==0 && StringUtils.isBlank(executorHandler)) { return new ReturnT(500, "请输入“JobHandler”"); } @@ -128,7 +122,6 @@ public class XxlJobServiceImpl implements IXxlJobService { jobInfo.setJobDesc(jobDesc); jobInfo.setAuthor(author); jobInfo.setAlarmEmail(alarmEmail); - jobInfo.setExecutorAppname(executorAppname); jobInfo.setExecutorAddress(executorAddress); jobInfo.setExecutorHandler(executorHandler); jobInfo.setExecutorParam(executorParam); @@ -154,7 +147,7 @@ public class XxlJobServiceImpl implements IXxlJobService { @Override public ReturnT reschedule(String jobGroup, String jobName, String jobCron, String jobDesc, String author, String alarmEmail, - String executorAppname, String executorAddress, String executorHandler, String executorParam, int glueSwitch, String childJobKey) { + String executorAddress, String executorHandler, String executorParam, int glueSwitch, String childJobKey) { // valid XxlJobGroup group = xxlJobGroupDao.load(jobGroup); @@ -176,12 +169,6 @@ public class XxlJobServiceImpl implements IXxlJobService { if (StringUtils.isBlank(alarmEmail)) { return new ReturnT(500, "请输入“报警邮件”"); } - if (StringUtils.isBlank(executorAppname) && StringUtils.isBlank(executorAddress)) { - return new ReturnT(500, "“执行器AppName”和“执行器地址”不可同时为空"); - } - if (StringUtils.isNotBlank(executorAppname) && StringUtils.isNotBlank(executorAddress)) { - return new ReturnT(500, "“执行器AppName”和“执行器地址” 不可同时使用"); - } if (glueSwitch==0 && StringUtils.isBlank(executorHandler)) { return new ReturnT(500, "请输入“JobHandler”"); } @@ -207,7 +194,6 @@ public class XxlJobServiceImpl implements IXxlJobService { jobInfo.setJobDesc(jobDesc); jobInfo.setAuthor(author); jobInfo.setAlarmEmail(alarmEmail); - jobInfo.setExecutorAppname(executorAppname); jobInfo.setExecutorAddress(executorAddress); jobInfo.setExecutorHandler(executorHandler); jobInfo.setExecutorParam(executorParam); diff --git a/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml b/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml index 38732d36..6030201f 100644 --- a/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml +++ b/xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml @@ -17,7 +17,6 @@ - @@ -39,7 +38,6 @@ t.update_time, t.author, t.alarm_email, - t.executor_appname, t.executor_address, t.executor_handler, t.executor_param, @@ -87,7 +85,6 @@ update_time, author, alarm_email, - executor_appname, executor_address, executor_handler, executor_param, @@ -104,7 +101,6 @@ NOW(), #{author}, #{alarmEmail}, - #{executorAppname}, #{executorAddress}, #{executorHandler}, #{executorParam}, @@ -133,7 +129,6 @@ update_time = NOW(), author = #{author}, alarm_email = #{alarmEmail}, - executor_appname = #{executorAppname}, executor_address = #{executorAddress}, executor_handler = #{executorHandler}, executor_param = #{executorParam}, diff --git a/xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl b/xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl index 7f997933..451f0ca1 100644 --- a/xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl +++ b/xxl-job-admin/src/main/webapp/WEB-INF/template/jobinfo/jobinfo.index.ftl @@ -78,7 +78,6 @@ 任务Key 描述 Cron - 执行器Appname 执行器地址 JobJandler 任务参数 @@ -127,14 +126,13 @@
-
- -
-
- + +
+
+ + AUTO  +
+
@@ -166,9 +164,6 @@ -
- 启动注册  -
@@ -215,14 +210,13 @@ public class DemoGlueJobHandler extends IJobHandler {
-
- -
-
- + +
+
+ + AUTO  +
+
diff --git a/xxl-job-admin/src/main/webapp/static/js/jobinfo.index.1.js b/xxl-job-admin/src/main/webapp/static/js/jobinfo.index.1.js index 0976dea8..5bc429b7 100644 --- a/xxl-job-admin/src/main/webapp/static/js/jobinfo.index.1.js +++ b/xxl-job-admin/src/main/webapp/static/js/jobinfo.index.1.js @@ -45,7 +45,6 @@ $(function() { }, { "data": 'jobDesc', "visible" : true}, { "data": 'jobCron', "visible" : true}, - { "data": 'executorAppname', "visible" : false}, { "data": 'executorAddress', "visible" : false}, { "data": 'executorHandler', @@ -114,7 +113,6 @@ $(function() { ' jobDesc="'+ row.jobDesc +'" '+ ' author="'+ row.author +'" '+ ' alarmEmail="'+ row.alarmEmail +'" '+ - ' executorAppname="'+row.executorAppname +'" '+ ' executorAddress="'+row.executorAddress +'" '+ ' executorHandler="'+row.executorHandler +'" '+ ' executorParam="'+ row.executorParam +'" '+ @@ -312,29 +310,18 @@ $(function() { $(".remote_panel").show(); // remote $("#addModal .form input[name='executorHandler']").removeAttr("readonly"); - - // 注册模式 - $("#addModal .form .executorAddress").show(); - $("#addModal .form .executorAppname").hide(); }); - // 注册模式 - $(".ifAppName").click(function(){ - var ifAppName = $(this).is(':checked'); - + // Auto 注册模式 + $(".addressAuto").click(function(){ + var addressAuto = $(this).is(':checked'); var $executorAddress = $(this).parents("form").find("input[name='executorAddress']"); - var $executorAppname = $(this).parents("form").find("input[name='executorAppname']"); - $($executorAddress).val(""); - $($executorAppname).val(""); - - var $executorAddressDiv = $(this).parents("form").find(".executorAddress"); - var $executorAppnameDiv = $(this).parents("form").find(".executorAppname"); - if (ifAppName) { - $($executorAddressDiv).hide(); - $($executorAppnameDiv).show(); + if (addressAuto) { + $executorAddress.val(""); + $executorAddress.attr("readonly","readonly"); } else { - $($executorAddressDiv).show(); - $($executorAppnameDiv).hide(); + $executorAddress.val(""); + $executorAddress.removeAttr("readonly"); } }); @@ -363,28 +350,27 @@ $(function() { $("#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='alarmEmail']").val($(this).parent('p').attr("alarmEmail")); - $("#updateModal .form input[name='executorAppname']").val($(this).parent('p').attr("executorAppname")); $("#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='executorParam']").val($(this).parent('p').attr("executorParam")); $("#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 var jobGroupTitle = $("#addModal .form select[name='jobGroup']").find("option[value='" + $(this).parent('p').attr("jobGroup") + "']").text(); $("#updateModal .form .jobGroupTitle").val(jobGroupTitle); - // appname / address, switch - var $executorAppname = $(this).parent('p').attr("executorAppname"); - if ($executorAppname) { - $("#updateModal .form .ifAppName").attr("checked", true); - $("#updateModal .form .executorAppname").show(); - $("#updateModal .form .executorAddress").hide(); - } else { - $("#updateModal .form .ifAppName").attr("checked", false); - $("#updateModal .form .executorAppname").hide(); - $("#updateModal .form .executorAddress").show(); - } - // glueSwitch var glueSwitch = $(this).parent('p').attr("glueSwitch"); $("#updateModal .form input[name='glueSwitch']").val(glueSwitch);