com.xxl.job.core.glue.GlueTypeEnum Java Examples
The following examples show how to use
com.xxl.job.core.glue.GlueTypeEnum.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: JobCodeController.java From open-capacity-platform with Apache License 2.0 | 6 votes |
@RequestMapping public String index(Model model, int jobId) { XxlJobInfo jobInfo = xxlJobInfoDao.loadById(jobId); List<XxlJobLogGlue> jobLogGlues = xxlJobLogGlueDao.findByJobId(jobId); if (jobInfo == null) { throw new RuntimeException(I18nUtil.getString("jobinfo_glue_jobid_unvalid")); } if (GlueTypeEnum.BEAN == GlueTypeEnum.match(jobInfo.getGlueType())) { throw new RuntimeException(I18nUtil.getString("jobinfo_glue_gluetype_unvalid")); } // Glue类型-字典 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); model.addAttribute("jobInfo", jobInfo); model.addAttribute("jobLogGlues", jobLogGlues); return "jobcode/jobcode.index"; }
Example #2
Source File: ExecutorBizTest.java From xxl-job with GNU General Public License v3.0 | 6 votes |
@Test public void run(){ ExecutorBiz executorBiz = new ExecutorBizClient(addressUrl, accessToken); // trigger data final TriggerParam triggerParam = new TriggerParam(); triggerParam.setJobId(1); triggerParam.setExecutorHandler("demoJobHandler"); triggerParam.setExecutorParams(null); triggerParam.setExecutorBlockStrategy(ExecutorBlockStrategyEnum.COVER_EARLY.name()); triggerParam.setGlueType(GlueTypeEnum.BEAN.name()); triggerParam.setGlueSource(null); triggerParam.setGlueUpdatetime(System.currentTimeMillis()); triggerParam.setLogId(1); triggerParam.setLogDateTime(System.currentTimeMillis()); // Act final ReturnT<String> retval = executorBiz.run(triggerParam); // Assert result Assert.assertNotNull(retval); }
Example #3
Source File: JobInfoController.java From xxl-job with GNU General Public License v3.0 | 6 votes |
@RequestMapping public String index(HttpServletRequest request, Model model, @RequestParam(required = false, defaultValue = "-1") int jobGroup) { // 枚举-字典 model.addAttribute("ExecutorRouteStrategyEnum", ExecutorRouteStrategyEnum.values()); // 路由策略-列表 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // Glue类型-字典 model.addAttribute("ExecutorBlockStrategyEnum", ExecutorBlockStrategyEnum.values()); // 阻塞处理策略-字典 // 执行器列表 List<XxlJobGroup> jobGroupList_all = xxlJobGroupDao.findAll(); // filter group List<XxlJobGroup> jobGroupList = filterJobGroupByRole(request, jobGroupList_all); if (jobGroupList==null || jobGroupList.size()==0) { throw new XxlJobException(I18nUtil.getString("jobgroup_empty")); } model.addAttribute("JobGroupList", jobGroupList); model.addAttribute("jobGroup", jobGroup); return "jobinfo/jobinfo.index"; }
Example #4
Source File: JobCodeController.java From xxl-job with GNU General Public License v3.0 | 6 votes |
@RequestMapping public String index(HttpServletRequest request, Model model, int jobId) { XxlJobInfo jobInfo = xxlJobInfoDao.loadById(jobId); List<XxlJobLogGlue> jobLogGlues = xxlJobLogGlueDao.findByJobId(jobId); if (jobInfo == null) { throw new RuntimeException(I18nUtil.getString("jobinfo_glue_jobid_unvalid")); } if (GlueTypeEnum.BEAN == GlueTypeEnum.match(jobInfo.getGlueType())) { throw new RuntimeException(I18nUtil.getString("jobinfo_glue_gluetype_unvalid")); } // valid permission JobInfoController.validPermission(request, jobInfo.getJobGroup()); // Glue类型-字典 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); model.addAttribute("jobInfo", jobInfo); model.addAttribute("jobLogGlues", jobLogGlues); return "jobcode/jobcode.index"; }
Example #5
Source File: ScriptJobHandler.java From xxl-job with GNU General Public License v3.0 | 6 votes |
public ScriptJobHandler(int jobId, long glueUpdatetime, String gluesource, GlueTypeEnum glueType){ this.jobId = jobId; this.glueUpdatetime = glueUpdatetime; this.gluesource = gluesource; this.glueType = glueType; // clean old script file File glueSrcPath = new File(XxlJobFileAppender.getGlueSrcPath()); if (glueSrcPath.exists()) { File[] glueSrcFileList = glueSrcPath.listFiles(); if (glueSrcFileList!=null && glueSrcFileList.length>0) { for (File glueSrcFileItem : glueSrcFileList) { if (glueSrcFileItem.getName().startsWith(String.valueOf(jobId)+"_")) { glueSrcFileItem.delete(); } } } } }
Example #6
Source File: ManualOperateController.java From spring-boot-demo with MIT License | 6 votes |
/** * 测试手动保存任务 */ @GetMapping("/add") public String xxlJobAdd() { Map<String, Object> jobInfo = Maps.newHashMap(); jobInfo.put("jobGroup", 2); jobInfo.put("jobCron", "0 0/1 * * * ? *"); jobInfo.put("jobDesc", "手动添加的任务"); jobInfo.put("author", "admin"); jobInfo.put("executorRouteStrategy", "ROUND"); jobInfo.put("executorHandler", "demoTask"); jobInfo.put("executorParam", "手动添加的任务的参数"); jobInfo.put("executorBlockStrategy", ExecutorBlockStrategyEnum.SERIAL_EXECUTION); jobInfo.put("glueType", GlueTypeEnum.BEAN); HttpResponse execute = HttpUtil.createGet(baseUri + JOB_INFO_URI + "/add").form(jobInfo).execute(); log.info("【execute】= {}", execute); return execute.body(); }
Example #7
Source File: ScriptJobHandler.java From zuihou-admin-cloud with Apache License 2.0 | 6 votes |
public ScriptJobHandler(int jobId, long glueUpdatetime, String gluesource, GlueTypeEnum glueType) { this.jobId = jobId; this.glueUpdatetime = glueUpdatetime; this.gluesource = gluesource; this.glueType = glueType; // clean old script file File glueSrcPath = new File(XxlJobFileAppender.getGlueSrcPath()); if (glueSrcPath.exists()) { File[] glueSrcFileList = glueSrcPath.listFiles(); if (glueSrcFileList != null && glueSrcFileList.length > 0) { for (File glueSrcFileItem : glueSrcFileList) { if (glueSrcFileItem.getName().startsWith(String.valueOf(jobId) + "_")) { glueSrcFileItem.delete(); } } } } }
Example #8
Source File: JobCodeController.java From zuihou-admin-cloud with Apache License 2.0 | 6 votes |
@RequestMapping public String index(Model model, Integer jobId) { XxlJobInfo jobInfo = xxlJobInfoDao.loadById(jobId); List<XxlJobLogGlue> jobLogGlues = xxlJobLogGlueDao.findByJobId(jobId); if (jobInfo == null) { throw new RuntimeException(I18nUtil.getString("jobinfo_glue_jobid_unvalid")); } if (GlueTypeEnum.BEAN == GlueTypeEnum.match(jobInfo.getGlueType())) { throw new RuntimeException(I18nUtil.getString("jobinfo_glue_gluetype_unvalid")); } // Glue类型-字典 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); model.addAttribute("jobInfo", jobInfo); model.addAttribute("jobLogGlues", jobLogGlues); return "jobcode/jobcode.index"; }
Example #9
Source File: ScriptJobHandler.java From zuihou-admin-boot with Apache License 2.0 | 6 votes |
public ScriptJobHandler(int jobId, long glueUpdatetime, String gluesource, GlueTypeEnum glueType) { this.jobId = jobId; this.glueUpdatetime = glueUpdatetime; this.gluesource = gluesource; this.glueType = glueType; // clean old script file File glueSrcPath = new File(XxlJobFileAppender.getGlueSrcPath()); if (glueSrcPath.exists()) { File[] glueSrcFileList = glueSrcPath.listFiles(); if (glueSrcFileList != null && glueSrcFileList.length > 0) { for (File glueSrcFileItem : glueSrcFileList) { if (glueSrcFileItem.getName().startsWith(String.valueOf(jobId) + "_")) { glueSrcFileItem.delete(); } } } } }
Example #10
Source File: JobCodeController.java From zuihou-admin-boot with Apache License 2.0 | 6 votes |
@RequestMapping public String index(Model model, Integer jobId) { XxlJobInfo jobInfo = xxlJobInfoDao.loadById(jobId); List<XxlJobLogGlue> jobLogGlues = xxlJobLogGlueDao.findByJobId(jobId); if (jobInfo == null) { throw new RuntimeException(I18nUtil.getString("jobinfo_glue_jobid_unvalid")); } if (GlueTypeEnum.BEAN == GlueTypeEnum.match(jobInfo.getGlueType())) { throw new RuntimeException(I18nUtil.getString("jobinfo_glue_gluetype_unvalid")); } // Glue类型-字典 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); model.addAttribute("jobInfo", jobInfo); model.addAttribute("jobLogGlues", jobLogGlues); return "jobcode/jobcode.index"; }
Example #11
Source File: JobCodeController.java From microservices-platform with Apache License 2.0 | 6 votes |
@RequestMapping public String index(Model model, int jobId) { XxlJobInfo jobInfo = xxlJobInfoDao.loadById(jobId); List<XxlJobLogGlue> jobLogGlues = xxlJobLogGlueDao.findByJobId(jobId); if (jobInfo == null) { throw new RuntimeException(I18nUtil.getString("jobinfo_glue_jobid_unvalid")); } if (GlueTypeEnum.BEAN == GlueTypeEnum.match(jobInfo.getGlueType())) { throw new RuntimeException(I18nUtil.getString("jobinfo_glue_gluetype_unvalid")); } // Glue类型-字典 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); model.addAttribute("jobInfo", jobInfo); model.addAttribute("jobLogGlues", jobLogGlues); return "jobcode/jobcode.index"; }
Example #12
Source File: ScriptJobHandler.java From microservices-platform with Apache License 2.0 | 6 votes |
public ScriptJobHandler(int jobId, long glueUpdatetime, String gluesource, GlueTypeEnum glueType){ this.jobId = jobId; this.glueUpdatetime = glueUpdatetime; this.gluesource = gluesource; this.glueType = glueType; // clean old script file File glueSrcPath = new File(XxlJobFileAppender.getGlueSrcPath()); if (glueSrcPath.exists()) { File[] glueSrcFileList = glueSrcPath.listFiles(); if (glueSrcFileList!=null && glueSrcFileList.length>0) { for (File glueSrcFileItem : glueSrcFileList) { if (glueSrcFileItem.getName().startsWith(String.valueOf(jobId)+"_")) { glueSrcFileItem.delete(); } } } } }
Example #13
Source File: JobLogController.java From open-capacity-platform with Apache License 2.0 | 6 votes |
@RequestMapping public String index(Model model, @RequestParam(required = false, defaultValue = "0") Integer jobId) { // 执行器列表 List<XxlJobGroup> jobGroupList = xxlJobGroupDao.findAll(); model.addAttribute("JobGroupList", jobGroupList); model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // 任务 if (jobId > 0) { XxlJobInfo jobInfo = xxlJobInfoDao.loadById(jobId); model.addAttribute("jobInfo", jobInfo); } return "joblog/joblog.index"; }
Example #14
Source File: JobInfoController.java From open-capacity-platform with Apache License 2.0 | 6 votes |
@RequestMapping public String index(Model model, @RequestParam(required = false, defaultValue = "-1") int jobGroup) { // 枚举-字典 model.addAttribute("ExecutorRouteStrategyEnum", ExecutorRouteStrategyEnum.values()); // 路由策略-列表 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // Glue类型-字典 model.addAttribute("ExecutorBlockStrategyEnum", ExecutorBlockStrategyEnum.values()); // 阻塞处理策略-字典 model.addAttribute("ExecutorFailStrategyEnum", ExecutorFailStrategyEnum.values()); // 失败处理策略-字典 // 任务组 List<XxlJobGroup> jobGroupList = xxlJobGroupDao.findAll(); model.addAttribute("JobGroupList", jobGroupList); model.addAttribute("jobGroup", jobGroup); return "jobinfo/jobinfo.index"; }
Example #15
Source File: ExecutorBizTest.java From microservices-platform with Apache License 2.0 | 5 votes |
/** * run jobhandler * * @param jobHandler * @param params */ private static void runTest(String jobHandler, String params) throws Exception { // trigger data TriggerParam triggerParam = new TriggerParam(); triggerParam.setJobId(1); triggerParam.setExecutorHandler(jobHandler); triggerParam.setExecutorParams(params); triggerParam.setExecutorBlockStrategy(ExecutorBlockStrategyEnum.COVER_EARLY.name()); triggerParam.setGlueType(GlueTypeEnum.BEAN.name()); triggerParam.setGlueSource(null); triggerParam.setGlueUpdatetime(System.currentTimeMillis()); triggerParam.setLogId(1); triggerParam.setLogDateTim(System.currentTimeMillis()); // do remote trigger String accessToken = null; ExecutorBiz executorBiz = (ExecutorBiz) new XxlRpcReferenceBean( NetEnum.JETTY, Serializer.SerializeEnum.HESSIAN.getSerializer(), CallType.SYNC, LoadBalance.ROUND, ExecutorBiz.class, null, 10000, "127.0.0.1:9999", null, null, null).getObject(); ReturnT<String> runResult = executorBiz.run(triggerParam); System.out.println(runResult); XxlRpcInvokerFactory.getInstance().stop(); }
Example #16
Source File: JobInfoController.java From zuihou-admin-boot with Apache License 2.0 | 5 votes |
@RequestMapping("/index1") public String index1(Model model, @RequestParam(required = false, defaultValue = "-1") Integer jobGroup) { // 枚举-字典 model.addAttribute("ExecutorRouteStrategyEnum", ExecutorRouteStrategyEnum.values()); // 路由策略-列表 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // Glue类型-字典 model.addAttribute("ExecutorBlockStrategyEnum", ExecutorBlockStrategyEnum.values()); // 阻塞处理策略-字典 // 任务组 List<XxlJobGroup> jobGroupList = xxlJobGroupDao.findAll(); model.addAttribute("JobGroupList", jobGroupList); model.addAttribute("jobGroup", jobGroup); return "jobinfo/jobinfo.index1"; }
Example #17
Source File: JobInfoController.java From zuihou-admin-boot with Apache License 2.0 | 5 votes |
@RequestMapping("/index2") public String index2(Model model, @RequestParam(required = false, defaultValue = "-1") Integer jobGroup) { // 枚举-字典 model.addAttribute("ExecutorRouteStrategyEnum", ExecutorRouteStrategyEnum.values()); // 路由策略-列表 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // Glue类型-字典 model.addAttribute("ExecutorBlockStrategyEnum", ExecutorBlockStrategyEnum.values()); // 阻塞处理策略-字典 // 任务组 List<XxlJobGroup> jobGroupList = xxlJobGroupDao.findAll(); model.addAttribute("JobGroupList", jobGroupList); model.addAttribute("jobGroup", jobGroup); return "jobinfo/jobinfo.index2"; }
Example #18
Source File: JobInfoController.java From microservices-platform with Apache License 2.0 | 5 votes |
@RequestMapping public String index(Model model, @RequestParam(required = false, defaultValue = "-1") int jobGroup) { // 枚举-字典 model.addAttribute("ExecutorRouteStrategyEnum", ExecutorRouteStrategyEnum.values()); // 路由策略-列表 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // Glue类型-字典 model.addAttribute("ExecutorBlockStrategyEnum", ExecutorBlockStrategyEnum.values()); // 阻塞处理策略-字典 // 任务组 List<XxlJobGroup> jobGroupList = xxlJobGroupDao.findAll(); model.addAttribute("JobGroupList", jobGroupList); model.addAttribute("jobGroup", jobGroup); return "jobinfo/jobinfo.index"; }
Example #19
Source File: JobInfoController.java From zuihou-admin-cloud with Apache License 2.0 | 5 votes |
@RequestMapping("/index1") public String index1(Model model, @RequestParam(required = false, defaultValue = "-1") Integer jobGroup) { // 枚举-字典 model.addAttribute("ExecutorRouteStrategyEnum", ExecutorRouteStrategyEnum.values()); // 路由策略-列表 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // Glue类型-字典 model.addAttribute("ExecutorBlockStrategyEnum", ExecutorBlockStrategyEnum.values()); // 阻塞处理策略-字典 // 任务组 List<XxlJobGroup> jobGroupList = xxlJobGroupDao.findAll(); model.addAttribute("JobGroupList", jobGroupList); model.addAttribute("jobGroup", jobGroup); return "jobinfo/jobinfo.index1"; }
Example #20
Source File: JobInfoController.java From zuihou-admin-cloud with Apache License 2.0 | 5 votes |
@RequestMapping("/index2") public String index2(Model model, @RequestParam(required = false, defaultValue = "-1") Integer jobGroup) { // 枚举-字典 model.addAttribute("ExecutorRouteStrategyEnum", ExecutorRouteStrategyEnum.values()); // 路由策略-列表 model.addAttribute("GlueTypeEnum", GlueTypeEnum.values()); // Glue类型-字典 model.addAttribute("ExecutorBlockStrategyEnum", ExecutorBlockStrategyEnum.values()); // 阻塞处理策略-字典 // 任务组 List<XxlJobGroup> jobGroupList = xxlJobGroupDao.findAll(); model.addAttribute("JobGroupList", jobGroupList); model.addAttribute("jobGroup", jobGroup); return "jobinfo/jobinfo.index2"; }
Example #21
Source File: XxlJobServiceImpl.java From zuihou-admin-boot with Apache License 2.0 | 4 votes |
@Override public ReturnT<String> add(XxlJobInfo jobInfo) { // valid 执行器是否存在 XxlJobGroup group = xxlJobGroupDao.load(jobInfo.getJobGroup()); if (group == null) { group = xxlJobGroupDao.getByName(jobInfo.getJobGroupName()); if (group == null) { return new ReturnT<>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_choose") + I18nUtil.getString("jobinfo_field_jobgroup"))); } jobInfo.setJobGroup(group.getId()); } if (JobTypeEnum.CRON.eq(jobInfo.getType())) { if (!CronExpression.isValidExpression(jobInfo.getJobCron())) { return new ReturnT<>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")); } } else { jobInfo.setType(JobTypeEnum.TIMES.getCode()); //表单校验 String msg = validate(jobInfo.getIntervalSeconds(), jobInfo.getRepeatCount(), jobInfo.getStartExecuteTime(), jobInfo.getEndExecuteTime()); if (!StringUtils.isEmpty(msg)) { return new ReturnT<>(ReturnT.FAIL_CODE, msg); } } if (GlueTypeEnum.BEAN == GlueTypeEnum.match(jobInfo.getGlueType()) && StringUtils.isBlank(jobInfo.getExecutorHandler())) { return new ReturnT<>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_input") + "JobHandler")); } if (StringUtils.isBlank(jobInfo.getJobDesc())) { jobInfo.setJobDesc("任务描述"); } if (StringUtils.isBlank(jobInfo.getAuthor())) { jobInfo.setAuthor("admin"); } if (ExecutorRouteStrategyEnum.match(jobInfo.getExecutorRouteStrategy(), null) == null) { jobInfo.setExecutorRouteStrategy(ExecutorRouteStrategyEnum.FIRST.name()); } if (ExecutorBlockStrategyEnum.match(jobInfo.getExecutorBlockStrategy(), null) == null) { jobInfo.setExecutorBlockStrategy(ExecutorBlockStrategyEnum.SERIAL_EXECUTION.name()); } if (GlueTypeEnum.match(jobInfo.getGlueType()) == null) { jobInfo.setGlueType(GlueTypeEnum.BEAN.name()); } // fix "\r" in shell if (GlueTypeEnum.GLUE_SHELL == GlueTypeEnum.match(jobInfo.getGlueType()) && jobInfo.getGlueSource() != null) { jobInfo.setGlueSource(jobInfo.getGlueSource().replaceAll("\r", "")); } // ChildJobId valid if (StringUtils.isNotBlank(jobInfo.getChildJobId())) { String[] childJobIds = StringUtils.split(jobInfo.getChildJobId(), ","); for (String childJobIdItem : childJobIds) { if (StringUtils.isNotBlank(childJobIdItem) && StringUtils.isNumeric(childJobIdItem)) { XxlJobInfo childJobInfo = xxlJobInfoDao.loadById(Integer.valueOf(childJobIdItem)); if (childJobInfo == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId") + "({0})" + I18nUtil.getString("system_not_found")), childJobIdItem)); } } else { return new ReturnT<String>(ReturnT.FAIL_CODE, MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId") + "({0})" + I18nUtil.getString("system_unvalid")), childJobIdItem)); } } jobInfo.setChildJobId(StringUtils.join(childJobIds, ",")); } // add in db xxlJobInfoDao.save(jobInfo); if (jobInfo.getId() < 1) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_add") + I18nUtil.getString("system_fail"))); } return new ReturnT<String>(String.valueOf(jobInfo.getId())); }
Example #22
Source File: XxlJobServiceImpl.java From microservices-platform with Apache License 2.0 | 4 votes |
@Override public ReturnT<String> add(XxlJobInfo jobInfo) { // valid XxlJobGroup group = xxlJobGroupDao.load(jobInfo.getJobGroup()); if (group == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_choose")+I18nUtil.getString("jobinfo_field_jobgroup")) ); } if (!CronExpression.isValidExpression(jobInfo.getJobCron())) { return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid") ); } if (StringUtils.isBlank(jobInfo.getJobDesc())) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_input")+I18nUtil.getString("jobinfo_field_jobdesc")) ); } if (StringUtils.isBlank(jobInfo.getAuthor())) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_input")+I18nUtil.getString("jobinfo_field_author")) ); } if (ExecutorRouteStrategyEnum.match(jobInfo.getExecutorRouteStrategy(), null) == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_executorRouteStrategy")+I18nUtil.getString("system_unvalid")) ); } if (ExecutorBlockStrategyEnum.match(jobInfo.getExecutorBlockStrategy(), null) == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_executorBlockStrategy")+I18nUtil.getString("system_unvalid")) ); } if (GlueTypeEnum.match(jobInfo.getGlueType()) == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_gluetype")+I18nUtil.getString("system_unvalid")) ); } if (GlueTypeEnum.BEAN==GlueTypeEnum.match(jobInfo.getGlueType()) && StringUtils.isBlank(jobInfo.getExecutorHandler())) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_input")+"JobHandler") ); } // fix "\r" in shell if (GlueTypeEnum.GLUE_SHELL==GlueTypeEnum.match(jobInfo.getGlueType()) && jobInfo.getGlueSource()!=null) { jobInfo.setGlueSource(jobInfo.getGlueSource().replaceAll("\r", "")); } // ChildJobId valid if (StringUtils.isNotBlank(jobInfo.getChildJobId())) { String[] childJobIds = StringUtils.split(jobInfo.getChildJobId(), ","); for (String childJobIdItem: childJobIds) { if (StringUtils.isNotBlank(childJobIdItem) && StringUtils.isNumeric(childJobIdItem)) { XxlJobInfo childJobInfo = xxlJobInfoDao.loadById(Integer.valueOf(childJobIdItem)); if (childJobInfo==null) { return new ReturnT<String>(ReturnT.FAIL_CODE, MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId")+"({0})"+I18nUtil.getString("system_not_found")), childJobIdItem)); } } else { return new ReturnT<String>(ReturnT.FAIL_CODE, MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId")+"({0})"+I18nUtil.getString("system_unvalid")), childJobIdItem)); } } jobInfo.setChildJobId(StringUtils.join(childJobIds, ",")); } // add in db xxlJobInfoDao.save(jobInfo); if (jobInfo.getId() < 1) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_add")+I18nUtil.getString("system_fail")) ); } return new ReturnT<String>(String.valueOf(jobInfo.getId())); }
Example #23
Source File: XxlJobServiceImpl.java From zuihou-admin-cloud with Apache License 2.0 | 4 votes |
@Override public ReturnT<String> add(XxlJobInfo jobInfo) { // valid 执行器是否存在 XxlJobGroup group = xxlJobGroupDao.load(jobInfo.getJobGroup()); if (group == null) { group = xxlJobGroupDao.getByName(jobInfo.getJobGroupName()); if (group == null) { return new ReturnT<>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_choose") + I18nUtil.getString("jobinfo_field_jobgroup"))); } jobInfo.setJobGroup(group.getId()); } if (JobTypeEnum.CRON.eq(jobInfo.getType())) { if (!CronExpression.isValidExpression(jobInfo.getJobCron())) { return new ReturnT<>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid")); } } else { jobInfo.setType(JobTypeEnum.TIMES.getCode()); //表单校验 String msg = validate(jobInfo.getIntervalSeconds(), jobInfo.getRepeatCount(), jobInfo.getStartExecuteTime(), jobInfo.getEndExecuteTime()); if (!StringUtils.isEmpty(msg)) { return new ReturnT<>(ReturnT.FAIL_CODE, msg); } } if (GlueTypeEnum.BEAN == GlueTypeEnum.match(jobInfo.getGlueType()) && StringUtils.isBlank(jobInfo.getExecutorHandler())) { return new ReturnT<>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_input") + "JobHandler")); } if (StringUtils.isBlank(jobInfo.getJobDesc())) { jobInfo.setJobDesc("任务描述"); } if (StringUtils.isBlank(jobInfo.getAuthor())) { jobInfo.setAuthor("admin"); } if (ExecutorRouteStrategyEnum.match(jobInfo.getExecutorRouteStrategy(), null) == null) { jobInfo.setExecutorRouteStrategy(ExecutorRouteStrategyEnum.FIRST.name()); } if (ExecutorBlockStrategyEnum.match(jobInfo.getExecutorBlockStrategy(), null) == null) { jobInfo.setExecutorBlockStrategy(ExecutorBlockStrategyEnum.SERIAL_EXECUTION.name()); } if (GlueTypeEnum.match(jobInfo.getGlueType()) == null) { jobInfo.setGlueType(GlueTypeEnum.BEAN.name()); } // fix "\r" in shell if (GlueTypeEnum.GLUE_SHELL == GlueTypeEnum.match(jobInfo.getGlueType()) && jobInfo.getGlueSource() != null) { jobInfo.setGlueSource(jobInfo.getGlueSource().replaceAll("\r", "")); } // ChildJobId valid if (StringUtils.isNotBlank(jobInfo.getChildJobId())) { String[] childJobIds = StringUtils.split(jobInfo.getChildJobId(), ","); for (String childJobIdItem : childJobIds) { if (StringUtils.isNotBlank(childJobIdItem) && StringUtils.isNumeric(childJobIdItem)) { XxlJobInfo childJobInfo = xxlJobInfoDao.loadById(Integer.valueOf(childJobIdItem)); if (childJobInfo == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId") + "({0})" + I18nUtil.getString("system_not_found")), childJobIdItem)); } } else { return new ReturnT<String>(ReturnT.FAIL_CODE, MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId") + "({0})" + I18nUtil.getString("system_unvalid")), childJobIdItem)); } } jobInfo.setChildJobId(StringUtils.join(childJobIds, ",")); } // add in db xxlJobInfoDao.save(jobInfo); if (jobInfo.getId() < 1) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_add") + I18nUtil.getString("system_fail"))); } return new ReturnT<String>(String.valueOf(jobInfo.getId())); }
Example #24
Source File: XxlJobServiceImpl.java From open-capacity-platform with Apache License 2.0 | 4 votes |
@Override public ReturnT<String> add(XxlJobInfo jobInfo) { // valid XxlJobGroup group = xxlJobGroupDao.load(jobInfo.getJobGroup()); if (group == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_choose")+I18nUtil.getString("jobinfo_field_jobgroup")) ); } if (!CronExpression.isValidExpression(jobInfo.getJobCron())) { return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid") ); } if (StringUtils.isBlank(jobInfo.getJobDesc())) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_input")+I18nUtil.getString("jobinfo_field_jobdesc")) ); } if (StringUtils.isBlank(jobInfo.getAuthor())) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_input")+I18nUtil.getString("jobinfo_field_author")) ); } if (ExecutorRouteStrategyEnum.match(jobInfo.getExecutorRouteStrategy(), null) == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_executorRouteStrategy")+I18nUtil.getString("system_unvalid")) ); } if (ExecutorBlockStrategyEnum.match(jobInfo.getExecutorBlockStrategy(), null) == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_executorBlockStrategy")+I18nUtil.getString("system_unvalid")) ); } if (ExecutorFailStrategyEnum.match(jobInfo.getExecutorFailStrategy(), null) == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_executorFailStrategy")+I18nUtil.getString("system_unvalid")) ); } if (GlueTypeEnum.match(jobInfo.getGlueType()) == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_gluetype")+I18nUtil.getString("system_unvalid")) ); } if (GlueTypeEnum.BEAN==GlueTypeEnum.match(jobInfo.getGlueType()) && StringUtils.isBlank(jobInfo.getExecutorHandler())) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_input")+"JobHandler") ); } // fix "\r" in shell if (GlueTypeEnum.GLUE_SHELL==GlueTypeEnum.match(jobInfo.getGlueType()) && jobInfo.getGlueSource()!=null) { jobInfo.setGlueSource(jobInfo.getGlueSource().replaceAll("\r", "")); } // ChildJobId valid if (StringUtils.isNotBlank(jobInfo.getChildJobId())) { String[] childJobIds = StringUtils.split(jobInfo.getChildJobId(), ","); for (String childJobIdItem: childJobIds) { if (StringUtils.isNotBlank(childJobIdItem) && StringUtils.isNumeric(childJobIdItem)) { XxlJobInfo childJobInfo = xxlJobInfoDao.loadById(Integer.valueOf(childJobIdItem)); if (childJobInfo==null) { return new ReturnT<String>(ReturnT.FAIL_CODE, MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId")+"({0})"+I18nUtil.getString("system_not_found")), childJobIdItem)); } } else { return new ReturnT<String>(ReturnT.FAIL_CODE, MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId")+"({0})"+I18nUtil.getString("system_unvalid")), childJobIdItem)); } } jobInfo.setChildJobId(StringUtils.join(childJobIds, ",")); } // add in db xxlJobInfoDao.save(jobInfo); if (jobInfo.getId() < 1) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_add")+I18nUtil.getString("system_fail")) ); } // add in quartz String qz_group = String.valueOf(jobInfo.getJobGroup()); String qz_name = String.valueOf(jobInfo.getId()); try { XxlJobDynamicScheduler.addJob(qz_name, qz_group, jobInfo.getJobCron()); //XxlJobDynamicScheduler.pauseJob(qz_name, qz_group); return ReturnT.SUCCESS; } catch (SchedulerException e) { logger.error(e.getMessage(), e); try { xxlJobInfoDao.delete(jobInfo.getId()); XxlJobDynamicScheduler.removeJob(qz_name, qz_group); } catch (SchedulerException e1) { logger.error(e.getMessage(), e1); } return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_add")+I18nUtil.getString("system_fail"))+":" + e.getMessage()); } }
Example #25
Source File: XxlJobServiceImpl.java From xxl-job with GNU General Public License v3.0 | 4 votes |
@Override public ReturnT<String> add(XxlJobInfo jobInfo) { // valid XxlJobGroup group = xxlJobGroupDao.load(jobInfo.getJobGroup()); if (group == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_choose")+I18nUtil.getString("jobinfo_field_jobgroup")) ); } if (!CronExpression.isValidExpression(jobInfo.getJobCron())) { return new ReturnT<String>(ReturnT.FAIL_CODE, I18nUtil.getString("jobinfo_field_cron_unvalid") ); } if (jobInfo.getJobDesc()==null || jobInfo.getJobDesc().trim().length()==0) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_input")+I18nUtil.getString("jobinfo_field_jobdesc")) ); } if (jobInfo.getAuthor()==null || jobInfo.getAuthor().trim().length()==0) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_input")+I18nUtil.getString("jobinfo_field_author")) ); } if (ExecutorRouteStrategyEnum.match(jobInfo.getExecutorRouteStrategy(), null) == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_executorRouteStrategy")+I18nUtil.getString("system_unvalid")) ); } if (ExecutorBlockStrategyEnum.match(jobInfo.getExecutorBlockStrategy(), null) == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_executorBlockStrategy")+I18nUtil.getString("system_unvalid")) ); } if (GlueTypeEnum.match(jobInfo.getGlueType()) == null) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_gluetype")+I18nUtil.getString("system_unvalid")) ); } if (GlueTypeEnum.BEAN==GlueTypeEnum.match(jobInfo.getGlueType()) && (jobInfo.getExecutorHandler()==null || jobInfo.getExecutorHandler().trim().length()==0) ) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("system_please_input")+"JobHandler") ); } // fix "\r" in shell if (GlueTypeEnum.GLUE_SHELL==GlueTypeEnum.match(jobInfo.getGlueType()) && jobInfo.getGlueSource()!=null) { jobInfo.setGlueSource(jobInfo.getGlueSource().replaceAll("\r", "")); } // ChildJobId valid if (jobInfo.getChildJobId()!=null && jobInfo.getChildJobId().trim().length()>0) { String[] childJobIds = jobInfo.getChildJobId().split(","); for (String childJobIdItem: childJobIds) { if (childJobIdItem!=null && childJobIdItem.trim().length()>0 && isNumeric(childJobIdItem)) { XxlJobInfo childJobInfo = xxlJobInfoDao.loadById(Integer.parseInt(childJobIdItem)); if (childJobInfo==null) { return new ReturnT<String>(ReturnT.FAIL_CODE, MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId")+"({0})"+I18nUtil.getString("system_not_found")), childJobIdItem)); } } else { return new ReturnT<String>(ReturnT.FAIL_CODE, MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId")+"({0})"+I18nUtil.getString("system_unvalid")), childJobIdItem)); } } // join , avoid "xxx,," String temp = ""; for (String item:childJobIds) { temp += item + ","; } temp = temp.substring(0, temp.length()-1); jobInfo.setChildJobId(temp); } // add in db jobInfo.setAddTime(new Date()); jobInfo.setUpdateTime(new Date()); jobInfo.setGlueUpdatetime(new Date()); xxlJobInfoDao.save(jobInfo); if (jobInfo.getId() < 1) { return new ReturnT<String>(ReturnT.FAIL_CODE, (I18nUtil.getString("jobinfo_field_add")+I18nUtil.getString("system_fail")) ); } return new ReturnT<String>(String.valueOf(jobInfo.getId())); }
Example #26
Source File: ScriptJobHandler.java From open-capacity-platform with Apache License 2.0 | 4 votes |
public ScriptJobHandler(int jobId, long glueUpdatetime, String gluesource, GlueTypeEnum glueType){ this.jobId = jobId; this.glueUpdatetime = glueUpdatetime; this.gluesource = gluesource; this.glueType = glueType; }