xxl-job手把手教你开发的标准流程

xxl-job分布式任务调度平台一般的操作步骤:

①从官网github上,链接如下:一个是gitee,一个是github

拉取初始化数据库sql文件

②调度中心(application.yml或application.properties)配置,我们可以直接参照官方的xxl-job-admin的application.properties进行修改调整。

说说几个重要的属性:

server.port 就是代表调度中心启动的时候的端口号,因为调度中心实则也是一个app。

server.servlet.context-path就是代表调度中心访问的时候,根路径名称。

xxl.job.i18n就是代表国际化配置,我们可以在admin调度中心的目录里面找到。

那么这时候我们可以直接在项目结构中直接运行调度中心的启动类,或者说通过maven打成jar包,然后使用命令进行启动java -jar xxx.jar

③执行器(application.yml或application.properties)配置 + @Bean配置XxlJobSpringExecutor

执行器的配置比调度中心的配置要多加一步,就是执行器组件的配置,需要使用@Bean配置XxlJobSpringExecutor。

执行器其实就是一个app,有自己独立的application.yml文件和启动类,但是如果我们将它的启动类去掉,然后在另外一个模块比如A中进行依赖引用的话,那么当A启动类启动的时候,执行器也是启动的。

我们现在看一下执行器的配置:

首先是application.properties:

admin.address代表调度中心的ip地址,代表当该执行器启动的时候,会自动注册到该调度中心;如果不写的话那么就代表关闭了自动注册。

xxl.job.executor.appname 代表执行器的名称,会在xxl-job的控制台(也就是调度中心启动时候,在网址上面输入的http://localhost:{server.port}/{server.servlet.context-path})上面创建执行器的时候,把名字写上去就是该名字。

接着是XxlJobSpringExecutor配置:

这里用的是Sl4j包下的log,官网源码使用的是

这样执行器也就配置好了。那么这时候我们可以直接在项目结构中直接运行执行器的启动类,或者说通过maven打成jar包,然后使用命令进行启动java -jar xxx.jar

④调度中心和执行器都准备好了,那么就开始写任务了,因为其实最核心的就是任务,是任务在执行。那么任务它是属于执行器里面的,一个执行器可以包含多个任务。

任务的话有两种模式,一个是Bean模式(编写代码),一个是GLUE模式(在线编辑),

Bean模式的话分为两种:方法形式和类形式

方法形式就是使用@XxlJob注解

例如这个demo

然后我们就需要去xxl-job的控制台,找到侧边栏的任务管理,开始新建任务。

类形式就是创建一个类去继承IJobHandler,最后通过XxlJobExecutor.registJobHandler方法进行手动注册。我们可以看看官方源码中,找到下面说的IJobHandler的全限定类名:com.xxl.job.core.handler.IJobHandler

我们可以看看在impl包下的三个JobHandler是如何写的。参照一下。

每一个类就代表一个任务,这样如果任务过多的话,会导致有很多的类。最后还需要手动注册一下。

然后GLUE模式又分为多种开发语言的模式,有java、shell、python、PHP、NodeJS、PowerShell

那么GLUE模式的java模式其实就是BEAN模式的类形式。

那么任务配置完毕之后呢,我们就可以在xxl-job的控制台界面上找到对应的任务,点击操作下面的启动。

这样我们调度中心、执行器、任务都准备好了。这时候我们的定时任务就完美解决了。其他详细的一些点我们可以参照官方文档也写的很详细。

这里我也附上官方文档的网址:

https://www.xuxueli.com/xxl-job/

总结:

xxl-job的开发流程就是:

①配置调度中心application.properties

②配置执行器 application.properties 、@Bean的XxlJobSpringExecutor

③添加任务 Bean模式【类形式和方法形式】 GLUE模式,如果是Bean模式的话,一定最后要在xxljob的控制台界面上找到任务管理,然后点击新增任务。

最后:如果觉得博主写的文章对你有帮助的话,麻烦给个免费的小赞赞,也祝各位码农在it路上高歌猛进。谢谢。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值