grails3.x整合xxljob

不废话了,直接上代码

1.引入jar

compile ‘com.xuxueli:xxl-job-core:2.2.0’

一个坑,客户端一定要和server端版本保持一致,我有3个小时浪费在这了,2.2.0server,2.1.0client,怎么都无法注册上去

2.任务代码

public class TestJobHandler {
	@XxlJob(value = "TestJobHandler")
	public ReturnT<String> execute(String param){
		XxlJobLogger.log("XXL-JOB, Hello World.");
        System.out.println("------------------------------------");
		return ReturnT.SUCCESS;
	}
}

这快没什么坑,唯一需要注意的就是@XxlJob(value = “TestJobHandler”)中的value值要和调度器管理中的值一致,看官方文档就好

3.bean注入

这时可能有人在想,配置文件呢?嗯哼,现在来了
grails跟springboot不一样,无法使用@Bean和@Configcation注解,目前我只知道下列这种注入方法
还有一点要注意,上边创建的TestJobHandler,也需要注入bean,同样通过下列方法注入

beans = {
    xxlJobExecutor(XxlJobSpringExecutor){
        adminAddresses = "http://192.168.1.100:8080/xxl-job-admin"
        appname = "xxl-job-executor-sample"
        logPath = "./logs/xxljob/"
    }
    testJobHandler(TestJobHandler)
}

testJobHandler(TestJobHandler)
括号左边的名称可以随便写,别重复就好,右边是上边创建的那个类
xxlJobExecutor中,可以使用环境判断,或者创建一个ConfigUtil获取当前环境的配置文件,来解决配置文件写死的问题

就这么简单?

没错,就这么简单。

启动后看看你的管理后台有么有注册成功,有没有执行任务吧

有人使用这个方法不行?那试试注解额方式

1. 创建注册类

@Component
public class XxlJobConfig {
 
    @Bean(initMethod = "start", destroyMethod = "destroy")
    public XxlJobSpringExecutor xxlJobExecutor() {
        System.out.println(">>>>>>>>>>> xxl-job config init.");
        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
        xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
        xxlJobSpringExecutor.setAppname(appName);
        xxlJobSpringExecutor.setLogPath(logPath);
        return xxlJobSpringExecutor;
    }
}

2.在Application上添加注解@ComponentScan(XxlJobConfig.class, basePackage=“com.xxx.xxx”)

XxlJobConfig.class 对应上边创建的类名
com.xxx.xxx对应XxlJobConfig.class的报名

@ComponentScan(XxlJobConfig.class, basePackage="com.xxx.xxx")
class Application extends GrailsAutoConfiguration {
    static void main(String[] args) {
        GrailsApp.run(Application, args)
    }
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值