xxl-job项目集成到springBoot

源码:http://www.xuxueli.com/xxl-job/#/?id=%E4%B8%80%E3%80%81%E7%AE%80%E4%BB%8B

一初始化数据库

脚本位置/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是登录账号密码

三.部署调度中心项目

可直接部署到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:

 

 

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

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

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

触发执行

你可能感兴趣的:(java)