xxl使用

1,yml配置

xxl:
  job:
    enabled: true
    admin:
      ### 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
      addresses: 
    executor:
      appname: 
      port: 9997
      ### 执行器日志保存天数 [选填] :值大于3时生效,启用执行器Log文件定期清理功能,否则不生效;
      logretentiondays: 5
      ### 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
      logpath:
      ### 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务";
      ip: 
      ### 执行器通讯TOKEN [选填]:非空时启用;
    accessToken:

2,引入jar

    <dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
            <version>2.0.1</version>
        </dependency>

3,配置类

@Configuration
@Slf4j
@ConditionalOnProperty(value = "xxl.job.enabled")
public class XxlJobConfig {
    @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;

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

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

4,使用四个注解,一个继承

@Component
@JobHandler("专题子栏目同步老》新")
@Slf4j
@EnableScheduling
public class SpecialSubcolumnSync extends IJobHandler {

  

    @Autowired
    private CacheService cacheService;


    @Override
    public ReturnT<String> execute(String param) throws Exception {
        XxlJobLogger.log("---------------------------同步开始-------------------");
        newsSpecialSubcolumnSync();
        XxlJobLogger.log("---------------------------同步结束-------------------");
        return ReturnT.SUCCESS;
    }

    public void newsSpecialSync() {
      
    //执行的业务

    }
}
### XXL-JOB 使用教程 #### 安装与配置 为了成功部署并运行XXL-JOB,需先完成环境准备以及必要的配置工作。对于调度中心而言,其配置文件位于`/xxl-job/xxl-job-admin/src/main/resources/application.properties`[^2]。 而对于执行器端,则推荐采用YAML格式来简化配置过程: ```yaml xxl: job: admin: addresses: http://127.0.0.1:8888/xxl-job-admin accessToken: default_token executor: appname: xxl-job-demo address: 127.0.0.1:9999 ip: port: 9999 logpath: /data/applogs/xxl-job/jobhandler logretentiondays: 30 ``` 上述配置项定义了执行器如何连接到调度中心及其日志保存路径等重要参数设置[^3]。 #### 日志记录与任务注册 当一个作业被成功注册至调度平台时,会生成如下形式的日志条目:“`>>> xxl-job regist JobThread success, jobId:X, handler:`”,其中包含了具体的处理器类名及方法签名信息[^1]。 这表明该特定的任务已经准备好接受来自调度系统的触发指令,并能够按照预定逻辑正常运作。 #### 执行示例 下面是一个简单的Java代码片段展示了如何创建自定义的任务处理程序: ```java import com.xxl.job.core.handler.annotation.XXLJob; import org.springframework.stereotype.Component; @Component public class XxlJobHandler { @XXLJob("updateStatus") public void updateStatus() { System.out.println("任务执行第一次执行任务"); } } ``` 这段代码实现了名为`updateStatus`的任务,在每次调用时会在控制台打印一条消息表示正在执行此操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大道至简@EveryDay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值