2023年10月16日
10:33
1、在XxlJobConfig中新增ExecutorBiz实例注入到spring容器中
@Bean(name = "executorBiz")
public ExecutorBiz xxlExecutorBiz() {
return new ExecutorBizImpl();
}
2、在应用中新建XXLjob执行器所需的rest接口
package com.xxl.job.executor.mvc.controller;
import com.xxl.job.core.biz.ExecutorBiz;
import com.xxl.job.core.biz.model.IdleBeatParam;
import com.xxl.job.core.biz.model.KillParam;
import com.xxl.job.core.biz.model.LogParam;
import com.xxl.job.core.biz.model.TriggerParam;
import com.xxl.job.core.util.GsonTool;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
@RequestMapping("xxljob")
@EnableAutoConfiguration
public class XxljobController {
@Resource
private ExecutorBiz executorBiz;
@PostMapping("beat")
@ResponseBody
public Object beat() {
return executorBiz.beat();
}
@PostMapping("idleBeat")
@ResponseBody
public Object idleBeat(@RequestBody final String requestData) {
final IdleBeatParam idleBeatParam = GsonTool.fromJson(requestData, IdleBeatParam.class);
return this.executorBiz.idleBeat(idleBeatParam);
}
@PostMapping("run")
@ResponseBody
public Object run(@RequestBody final String requestData) {
final TriggerParam triggerParam = GsonTool.fromJson(requestData, TriggerParam.class);
return this.executorBiz.run(triggerParam);
}
@PostMapping("kill")
@ResponseBody
public Object kill(@RequestBody final String requestData) {
final KillParam killParam = GsonTool.fromJson(requestData, KillParam.class);
return this.executorBiz.kill(killParam);
}
@PostMapping("log")
@ResponseBody
public Object log(@RequestBody final String requestData) {
final LogParam logParam = GsonTool.fromJson(requestData, LogParam.class);
return this.executorBiz.log(logParam);
}
}
3、在调度中心执行器管理中配置注册方式为手动,地址为:http://ip:prot/context/xxljob/即可,调度中心在执行任务时即可通过应用端口进行任务调度,不从默认的9999端口进行访问