SpringBoot项目启动时XXL-JOB相关问题(未完待续)
1.xxl-job java.net.BindException: Address already in use: bind
-
xxljob执行器注解@bean配置的问题
-
在低版本的xxl-job中,初始化XxlJobSpringExecutor执行器需要在@bean注解中加上 initMethod = “start”, destroyMethod = “destroy”,但是在高版本的 xxl-job(如 2.1.2)则需要删除 initMethod = “start”, destroyMethod = “destroy”
-
把 @Bean 的属性 initMethod = “start”, destroyMethod = “destroy” 删除即可
-
报错
-
改正
2.xxl-job配置文件(executor)
- 需要在xxl-job任务调度中心新增相应的执行管理器
- 如下,需在执行管理器中新增 oms-manage-job 执行器
xxl:
job:
admin:
#调度中心部署跟地址:如调度中心集群部署存在多个地址则用逗号分隔。
#执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调"。
addresses: http://XXXX:XXXX/xxl-job-admin
#分别配置执行器的名称、ip地址、端口号
#注意:如果配置多个执行器时,防止端口冲突
executor:
appname: oms-manage-job
ip:
port: 9901
#执行器运行日志文件存储的磁盘位置,需要对该路径拥有读写权限
logpath: /data/applogs
#执行器Log文件定期清理功能,指定日志保存天数,日志文件过期自动删除。限制至少保持3天,否则功能不生效;
#-1表示永不删除
logretentiondays: -1
3.xxl-job地址单独可访问,启动项目时xxl-job地址500–404找不到
(1) 解决方案一:项目中引入jar包的版本问题
- 如,我们项目中引入的 xxl-job-core:2.2.0,但是部署的是2.0.1,此时会产生上述问题
- 将代码中的依赖的包改成2.0.1版本(注意需要改注解,版本不同注解使用有差别)
(2)解决方案二:部署搭建 2.2.0版本的xxl-job