标签:String Value job 版本 2.3 xxlJobSpringExecutor xxljob xxl
xxljob从2.3.0开始做了一些改变,查看源码发现有很多变动,其中包括handler的实现方式、注解等,记录一下:
依赖
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.0</version>
</dependency>
配置
@Slf4j
@Configuration
@ComponentScan(basePackages = "com.xxx.job") //指定扫描handler的包的位置
public class XxlJobConfig {
@Value("${xxl.job.flag}")
private boolean flag;
@Value("${xxl.job.admin.addresses}")
private String adminAddresses;
@Value("${xxl.job.executor.appname}")
private String appName;
@Value("${xxl.job.executor.port}")
private int port;
@Value("${xxl.job.executor.ip}")
private String ip;
@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
//判断是否注册到调度中心
if (flag) { //添加开关
log.info(">>>>>>>>>>> xxl-job config init.");
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
xxlJobSpringExecutor.setAppname(appName);
xxlJobSpringExecutor.setPort(port);
xxlJobSpringExecutor.setIp(ip);
return xxlJobSpringExecutor;
} else {
return null;
}
}
}
配置文件
xxl:
job:
flag: true
admin:
addresses : http://127.0.0.1:8080/xxl-job-admin/
executor:
ip: 127.0.0.1 //当前服务的ip
appname : test
port : 9999 //docker部署时需要做这个端口的映射,用于xxljob调度时请求
定时任务
2.3.x与之前版本不同的地方就在XxlJob注解
@Slf4j
@Component
public class DemoJobHandler{
@XxlJob(value = "testJobHandler")
public void demoJobHandler() throws Exception {
// 2.3.0版本获取参数的方式
// 注意xxl-job统一只接受一个String类型的参数,如果有多个参数,请自定义规则,获取到参数后自行切割
String param = XxlJobHelper.getJobParam();
log.info("job 参数:{}",param);
// 打印到日志文件的方式,打印之后的文件,在调度中心的调度日志管理中,操作选项下的执行日志可查看到
XxlJobHelper.log("=====testJobHandler===== test XXL-JOB!");
// 执行结束后返回的方式,同样在执行日志可查看
XxlJobHelper.handleSuccess("执行成功");
}
}
配置调度平台
标签:String,Value,job,版本,2.3,xxlJobSpringExecutor,xxljob,xxl 来源: https://blog.csdn.net/qq_39380192/article/details/122357960
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。