xxl-job入门

xxl-job

今天简单介绍下xxl-job的入门使用教程

首先下载我们需要的 xxl-job 项目

  • xxl-job-admin 调度中心
  • xxl-job-core 公共依赖
  • xxl-job-executor-samples 执行器示例

下载地址:

xxl-job 官方参考文档

1、初始化数据库

下载好项目后,运行我们项目目录 xxl-job/doc/db/ 下的 sql 文件初始化数据库。

在这里插入图片描述

2、修改配置文件

修改 xxl-job-admin 项目 resource 下的 application.properties 文件,将数据库的配置信息(url、username、password)修改为自己本地或者是远程服务器数据库的信息。这里入门教程没有使用到报警邮件通知那块,所以就没有 贴出来配置文件中的 邮箱修改内容,可以自行去修改一下。

当然除了必须修改数据库相关的信息外,我们还可以修改项目的端口号,servlet上下文路径(这些都是可选的)

### xxl-job, datasource
spring:
 datasource:
  url: jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
  username: username
  password: password
  driver-class-name: com.mysql.cj.jdbc.Driver

3、运行jar包

选择 jar 包是为了方便,我们要访问调度中心平台就需要启动 xxl-job-admin 这个项目,所以为了方便不用每次都在开发工具中启动项目,这里选择运行 jar 包的方式。

  • mvn clean package 打包
    使用 命令 mvn clean package 打包 刚刚修改完的 xxl-job-admin 项目,就会在target 目录下 生成我们需要的 jar 包。
  • java -jar jar包名字 运行jar 包
    通过命令 java -jar jar包名字 运行jar 包。也可以将jar包部署在远程服务器上更为方便一点。(关于如何在远程服务器上部署jar包前文有写道,如果有不知道怎么做的或者是忘记的可以翻回去看看哦,o((>ω< ))o )
    调度中心已经启动

4、访问调度中心

  • 根据自己 yml 配置,访问调度中心 http://localhost:8081/xxl-job-admin
  • 默认登陆账号:admin/123456
### web
server:
  port: 8081
  servlet:
    context-path: /xxl-job-admin

在这里插入图片描述

5、使用 xxl-job 调度中心

  1. 添加 maven 依赖
    可以从官网 mvnrepository.com 中搜索 xxl-job
<!-- https://mvnrepository.com/artifact/com.xuxueli/xxl-job-core -->
<dependency>
    <groupId>com.xuxueli</groupId>
    <artifactId>xxl-job-core</artifactId>
    <version>2.4.0</version>
</dependency>
  1. 编写配置文件
xxl:
  job:
    admin:
      # 调度中心的地址,也就是我们前文配置文件里配置的,访问调度中心的url
      addresses: http://127.0.0.1:8080/xxl-job-admin 
    # 执行器的名字
    executor:
      appname: my-xxl-job-test   # 需和任务调度中心的执行器AppName一致
      #ip: xxxx
      port: 9999 # ip 和 端口 会在调度中心的调度日志里面的调度备注里有显示
    accessToken: default_token
  1. 执行器组件配置
@Configuration
@Slf4j
public class XxlJobConfig {

    @Value("${xxl.job.admin.addresses}")
    private String adminAddresses;
    
    @Value("${xxl.job.executor.appname}")
    private String appName;
    
    @Value("${xxl.job.accessToken}")
    private String accessToken;
    
    @Bean
    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;
    }
}
  1. 编写执行器
@Slf4j
@Component
public class MyXxlJobHandler {
    //定时打印
    @XxlJob("myXxlJobDemo") //需和任务调度中心里任务管理里面的JobHandler一致
    public void myXxlJobDemo() {
        //在控制台打印日志输出
        log.info("第一个xxl-job 测试");
    }
}
  1. 调度中心 创建执行器 和 新增任务
    执行器 AppName 必须和 配置文件中的 appname 一致,可以选择手动注册,自动注册会在我们任务启动时根据 yml 配置文件的详情自动注册一个。启动任务后可以回到这儿再次观察选了自动注册后的注册节点。

    可以看到已经创建好了我们需要的执行器 新增任务
    在这里插入图片描述
    创建好,可以选择操作是执行一次还是一直启动(会按照我们的CORN表达式指定的时间来执行)等其他。
    在这里插入图片描述
    启动后台项目后,我们选择启动来看看后台打印情况,因为CORN表达式是定义的一秒一次,可以发现后台一直再打印。测试案例执行完后记得停止任务,不然后台会一直打印。
    在这里插入图片描述
    查看调度日志
    在这里插入图片描述
    全部执行成功,调度备注里面会有一些详情信息,比如说上文配置文件里配置的 ip 和端口号等
    在这里插入图片描述
    至此,入门小demo就结束啦ヽ(≧□≦)ノ。
    另外关于调度中心用户管理,可以新增管理员和普通用户,可以给普通用户分配执行器的权限。
    在这里插入图片描述
    💌 今日分享收尾啦 ༼ つ ◕_◕ ༽つ感谢大家!!!如有不足之处欢迎大家指正!!!
  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值