版权声明: https://blog.csdn.net/W_Leodong/article/details/79892325
分布式定时任务:
1. Maven引用
2. 调度控制台
3. IJobHandler使用说明
4. 控制台配置
5.
注意事项
1. maven引用
<dependency>
<groupId>com.foriseland.xxl.job</groupId>
<artifactId>xxljob-core</artifactId>
<version>1.9.3-SNAPSHOT</version>
</dependency>
2.调度控制台
http://192.168.2.1:8091/xxljob/jobinfo
账号:admin
密码:********
3.IJobHandler使用说明
@JobHandler(value="demoDaMaiJobHandler")
@Component
public class DemoJobHandler extends IJobHandler {
@Override
public ReturnT<String> execute(String param) throws Exception {
XxlJobLogger.log("XXL-JOB, Hello World.");
System.out.println("进入执行器");
for (int i = 0; i < 5; i++) {
XxlJobLogger.log("beat at:" + i);
TimeUnit.SECONDS.sleep(2);
}
return SUCCESS;
}
}
l 首先继承IJobHandler这个接口,实现ReturnT方法
l 方法内写自己的任务逻辑。
l 在resources下新建spring文件夹,新建spring-xxl-job.xml文件。
l spring-xxl-job.xml 文件内容如下:
<bean id="xxlJobExecutor" class="com.xxl.job.core.executor.XxlJobExecutor" init-method="start" destroy-method="destroy">
<!-- 执行器注册中心地址[选填],为空则关闭自动注册 -->
<property name="adminAddresses" value="${overall_public/xxl.job.admin.addresses}" />
<!-- 执行器AppName[选填],为空则关闭自动注册 -->
<property name="appName" value="${overall_public/xxl.job.executor.appname}" />
<!-- 执行器IP[选填],为空则自动获取 -->
<property name="ip" value="${overall_public/xxl.job.executor.ip}" />
<!-- 执行器端口号[选填],为空则自动获取 -->
<property name="port" value="${overall_public/xxl.job.executor.port}" />
<!-- 访问令牌[选填],非空则进行匹配校验 -->
<property name="accessToken" value="${overall_public/xxl.job.accessToken}" />
<!-- 执行器日志路径[选填],为空则使用默认路径 -->
<property name="logPath" value="${overall_public/xxl.job.executor.logpath}" />
<!-- 日志保存天数[选填],值大于3时生效 -->
<property name="logRetentionDays" value="${overall_public/xxl.job.executor.logretentiondays}" />
</bean>
4.控制台配置
配置步骤:
1). 配置执行器管理
2). 任务管理
3). 新建任务
l Cron:schedule表达式(如:*/5 * * * * ?)
l 运行模式:选择BEAN模式
l JobHandler*:选择程序@JobHandler(value="demoDaMaiJobHandler")的 bean名称demoDaMaiJobHandler
l 配置完成后,点击执行,可通过日志进行查看执行。
5.注意事项
所有定时任务项目配置在worker工程下,其次包的命名结构严格按照 com.fl名.f名.业务 下,保证spring启动能被扫描。