负责接收调度请求并执行任务逻辑。任务模块专注于任务的执行等操作,开发和维护更加简单和高效; 接收“调度中心”的执行请求、终止请求和日志请求等。
在需要集成执行器的项目中添加依赖
<dependency>
<groupId>cn.com.tcc.ofa</groupId>
<artifactId>ofa-job-core</artifactId>
<version>${parent.version}</version>
</dependency>
xxl:
job:
enabled: true
admin:
# 调度中心的地址
addresses: http://127.0.0.1:21000/ofa-job-admin
executor:
appname: ${spring.application.name}
# 选填,为空时自动获取ip
ip:
# 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
port: 9999
# 执行器日志文件路径
logpath: logs/${spring.application.name}/jobhandler
# 执行器日志保存天数 [选填] :值大于3时生效,启用执行器Log文件定期清理功能,否则不生效;
logretentiondays: -1
# 执行器通讯TOKEN [选填]:非空时启用;
accessToken:
/**
* 任务Handler示例(Bean模式)
*
* 开发步骤:
* 1、继承"IJobHandler":“com.xxl.job.core.handler.IJobHandler”;
* 2、注册到Spring容器:添加“@Component”注解,被Spring容器扫描为Bean实例;
* 3、注册到执行器工厂:添加“@JobHandler(value="自定义jobhandler名称")”注解,注解value值对应的是调度中心新建任务的JobHandler属性的值。
* 4、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
*
* @author xuxueli 2015-12-19 19:43:36
*/
@JobHandler(value="demoJobHandler")
@Component
public class DemoJobHandler extends IJobHandler {
@Override
public ReturnT<String> execute(String param) throws Exception {
XxlJobLogger.log("XXL-JOB, Hello World.");
for (int i = 0; i < 5; i++) {
XxlJobLogger.log("beat at:" + i);
TimeUnit.SECONDS.sleep(2);
}
return SUCCESS;
}
}
执行器名称即为上面配置的appname,选择自动注册,即调度中心和执行器之间会通过心跳自动注册。