基本地址
测试:https://jobtest.gz.cvte.cn/xxl-job-admin
正式:https://job.gz.cvte.cn/xxl-job-admin
服务端配置同步指引
测试
生产
客户端升级改造
因为客户端升级改造是需要一次性全部改完的,所以单一部署工程服务的代码需全部改造完成才可以构建发布
配置添加
csb:
job:
accessToken: default_token # 需要添加的选项
admin:
addresses: http://jobtest.gz.cvte.cn/xxl-job-admin/
executor:
appname: scm-wip-job-uat
ip:
port: 9979
版本选择,注释旧的csb-job依赖
- spring boot 1.5.4,即用CSB2.0系列的服务
<dependency> <groupId>com.cvte.csb</groupId> <artifactId>csb-job-v2</artifactId> <version>2.0.10-SNAPSHOT</version> </dependency>
- spring boot 2.1.7,即用CSB3.0系列的服务
<dependency> <groupId>com.cvte.csb</groupId> <artifactId>csb-job-v2</artifactId> <version>3.0.3-SNAPSHOT</version> </dependency>
客户端改造说明
- 代码改造
/**
* @author chenjinbo
*
*/
// 改变点1,不需要在Bean上添加@JobHandler注解
//@JobHander(value="csbJobHandler") //与调度中心新增任务配置 JobHandler 相匹配
@Service
@Slf4j
// 改变点2,不需要继承IJobHandler
//继承 IJobHandler 重写execute方法,写自己的定时任务核心代码
//public class DemoJobHandler extends IJobHandler {
public class DemoJobHandler {
@XxlJob("demoJobHandler")
// 改变点3,添加@XxlJob注解,指定任务名称,方法入参通过工具类获取
public ReturnT<String> execute() throws Exception {
String param = XxlJobHelper.getJobParam();
log.info("XXL-JOB, Hello World. param: {}", param);
// 改变点4,打印日志类换XxlJobHelper
// XxlJobLogger.log("###################CSB-JOB, Hello World.######################");
XxlJobHelper.log("XXL-JOB, Hello World.");
return ReturnT.SUCCESS; //成功返回SUCCESS,失败返回FAIL 给调度中心
}
}
避坑指南
阿波罗配置
csb.job.accessToken = default_token
新版本XXL-JOB增加了一个accessToken配置,需要确认清楚并正确配置上才能生效。
依赖冲突问题
新版本XXL-JOB核心依赖如下,目前项目升级过程可能遇到比较严重的依赖冲突有2个,升级过程建议完备测试谨慎上线:- slf4j-api 可能导致项目无法启动
- netty-codec 可能在定时任务执行时报NoClassDefFoundError,可以直接使用4.1.108.Final版本
高效迁移
新版本的表结构比较简单,如果项目配置的job数量太大,可以考虑直接通过sql导入。
先导入执行器,id是数据库的序列生成,并获取执行器id
INSERT INTO xxl_job_group (app_name, title, address_type, address_list, update_time) VALUES( 'jmcw-mfg', 'MFG后台管理', 0, null, '2024-09-09 20:44:13.600');
根据执行器id导入job,具体字段数据自行调整,executor_param是执行参数,trigger_status是生效状态,1代表启动
INSERT INTO xxl_job_info (job_group, job_desc, add_time, update_time, author, alarm_email, schedule_type, schedule_conf, misfire_strategy, executor_route_strategy, executor_handler, executor_param, executor_block_strategy, executor_timeout, executor_fail_retry_count, glue_type, glue_source, glue_remark, glue_updatetime, child_jobid, trigger_status, trigger_last_time, trigger_next_time) VALUES({执行器ID}, '同步门户角色数据', '2024-09-09 09:16:49.957', '2024-09-09 09:16:49.957', 'wuhuashan', 'wuhuashan@cvte.com', 'CRON', '0 10 1 * * ?', 'DO_NOTHING', 'FIRST', 'mfgRefreshRoleJob', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2024-09-09 09:16:49.957', '', 0, 0, 0);
作者:王浩彬 创建时间:2024-09-20 11:44
最后编辑:王浩彬 更新时间:2024-12-25 11:09
最后编辑:王浩彬 更新时间:2024-12-25 11:09