xxl-job任务调度框架的使用

转载:https://blog.csdn.net/zjz_i/article/details/81624152
源码:http://www.xuxueli.com/xxl-job/#/?id=《分布式任务调度平台xxl-job》

一、初始化数据库

脚本位置
/xxl-job/doc/db/tables_xxl_job.sql

xxl-job-admin:调度中心

xxl-job-core:公共依赖

二、配置调度中心项目

调度中心项目:xxl-job-admin

调度中心配置

配置文件地址

/xxl-job/xxl-job-admin/src/main/resources/xxl-job-admin.properties

1-5 配置数据库链接

16-17是登录账号密码

xxl-job任务调度框架的使用_第1张图片

三、部署调度中心项目

可直接部署到tomcat

访问地址ip/域名+端口+项目名(xxl-job-admin

四、配置部署执行器项目(springBoot项目为例)

引入maven依赖

<dependency>
    <groupId>com.xuxueligroupId>
    <artifactId>xxl-job-coreartifactId>
    <version>1.9.1version>
dependency>
@Configuration
@ComponentScan(basePackages = "com.dc.config.jobhandler")
public class XxlJobConfig {
    private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class); 

    @Value("${xxl.job.admin.addresses}")
    private String adminAddresses;

    @Value("${xxl.job.executor.appname}")
    private String appName;

    @Value("${xxl.job.executor.ip}")
    private String ip;

    @Value("${xxl.job.executor.port}")
    private int port;

    @Value("${xxl.job.accessToken}")
    private String accessToken;

    @Value("${xxl.job.executor.logpath}")
	private String logPath;

    private int logRetentionDays=-1;//Log文件定期清理

    @Bean(initMethod = "start", destroyMethod = "destroy")
    public XxlJobExecutor xxlJobExecutor() {
        logger.info(">>>>>>>>>>> xxl-job config init.");
        XxlJobExecutor xxlJobExecutor = new XxlJobExecutor();
        xxlJobExecutor.setAdminAddresses(adminAddresses);
        xxlJobExecutor.setAppName(appName);
        xxlJobExecutor.setIp(ip);
        xxlJobExecutor.setPort(port);
        xxlJobExecutor.setAccessToken(accessToken);
        xxlJobExecutor.setLogPath(logPath);
        xxlJobExecutor.setLogRetentionDays(logRetentionDays);
        return xxlJobExecutor;
    }
}

五、开发任务代码
@JobHandler(value = "exjobHandler")
@Component
public class ExJobHandler extends IJobHandler {

   @Override
   public ReturnT execute(String param) throws Exception {
      System.out.println("启动");
      return SUCCESS;
   }
}
六、执行器配置

application.yml配置说明

5行是中心项目地址 执行器将会使用该地址进行"执行器心跳注册""任务结果回调"

6-8行是执行器"AppName"和地址信息配置:AppName执行器心跳注册分组依据;地址信息用于"调度中心请求并触发任务""执行器注册"。执行器默认端口为9999,执行器IP默认为空表示自动获取IP port是一个内置的jetty服务端口)

9行是执行器运行日志文件存储的磁盘位置,需要对该路径拥有读写权限

xxl:
  job:
    admin:
      addresses: http://192.168.1.212:8080/xxl-job-admin
    executor:
      appname: xxl-job-executor-sample
      ip: 192.168.1.212
      port: 9999
      logpath: /data/applogs/xxl-job/jobhandler
    accessToken:

启动执行器项目、调度中心项目

登录调度中心,点击新建任务

xxl-job任务调度框架的使用_第2张图片

说明:JobHandler是任务代码中@JobHandler注解value的值

xxl-job任务调度框架的使用_第3张图片

触发执行

xxl-job任务调度框架的使用_第4张图片

你可能感兴趣的:(java,xxl-job,分布式,任务调度)