使用XXLjob中间件进行定时任务的管理

在学习XXLjob时,建议先看一下文档,不难,通俗易懂,由于本人所从事的项目是java项目,所以对于如何在其他环境下开发使用不了解,但基本操作应该差不多,下面放上学习文档:http://www.xuxueli.com/xxl-job/#/
在看完文档后,可以先把源码下载下来,这里提供百度云的下载链接,或者自行到git上进行拉取也可以:
链接: https://pan.baidu.com/s/1VBIiymbU0hgn9Av0qj_KKA 提取码: cpbc 复制这段内容后打开百度网盘手机App,操作更方便哦
下面的笔记是自己刚接触xxljob所做的记录,刚刚接触,有不足的地方,还望指正
对xxljob中间件的使用,我从bean模式下进行开发,首先需要在common包下的pom文件中添加对于xxl-job-core的依赖,如下图

<dependency>
			<groupId>com.xuxueli</groupId>
			<artifactId>xxl-job-core</artifactId>
			<version>2.0.2</version>
</dependency>

然后编写配置文件,项目中采用了Apollo进行参数配置,所以在Apollo配置完参数后,在项目中直接进行调用即可,Apollo上的参数配置,不再详述,只知道需要配几个参数即可:

xxl.job.admin.addresses = http://localhost:8088/xxl-job-admin/
xxl.job.executor.appname = xxl-job-executor-XXX
xxl.job.executor.port = 9992
xxl.job.executor.logpath = /home/XX/logs/xxl-job/XXX-dev
xxl.job.executor.logretentiondays = -1
xxl.job.executor.ip = 
xxl.job.accessToken = 

上述参数值根据个人情况进行设置,不过appname要记住
配置好参数后,在原项目中添加handler包,用来管理handler文件,创建一个java文件,名字可命名为XXXHandler,在此文件中,需要有下面内容:

@JobHandler(value="demoJobHandler")
//注解的形式来设置handler的别名,注册到执行器工厂
@Component
public class DemoJobHandler extends IJobHandler {
//*此处要继承 IJobHandler,必须
	@Override
	public ReturnT<String> execute(String param) throws Exception {
		//*只包含此方法来实现具体的操作
		XxlJobLogger.log("XXL-JOB, Hello World.");
		XxlJobLogger.log("First Step");
		for (int i = 0; i < 5; i++) {
			XxlJobLogger.log("beat at:" + i);
			TimeUnit.SECONDS.sleep(2);
		}
		return SUCCESS;
	}
}

完成handler的开发,要增加spring读取配置,在项目中的spring-common.xml文件中进行设置

<!-- ********************************* 基础配置 ********************************* -->

	<!-- 配置01、JobHandler 扫描路径 -->
	<context:component-scan base-package="cn.xxljob.handler" />
<!--cn.xxljob.handler是handler文件所在的包 -->
	<!-- 配置02、执行器 -->
	<bean id="xxlJobSpringExecutor" class="com.xxl.job.core.executor.impl.XxlJobSpringExecutor" init-method="start" destroy-method="destroy" >
		<!-- 执行器注册中心地址[选填],为空则关闭自动注册 -->
		<property name="adminAddresses" value="${xxl.job.admin.addresses}" />
		<!-- 执行器AppName[选填],为空则关闭自动注册 -->
		<property name="appName" value="${xxl.job.executor.appname}" />
		<!-- 执行器IP[选填],为空则自动获取 -->
		<property name="ip" value="${xxl.job.executor.ip}" />
		<!-- 执行器端口号[选填],小于等于0则自动获取 -->
		<property name="port" value="${xxl.job.executor.port}" />
		<!-- 访问令牌[选填],非空则进行匹配校验 -->
		<property name="accessToken" value="${xxl.job.accessToken}" />
		<!-- 执行器日志路径[选填],为空则使用默认路径 -->
		<property name="logPath" value="${xxl.job.executor.logpath}" />
		<!-- 日志保存天数[选填],值大于3时生效 -->
		<property name="logRetentionDays" value="${xxl.job.executor.logretentiondays}" />
	</bean>

在这里插入图片描述
appname与之前的一致,注册方式自动注册即可
然后创建任务
在这里插入图片描述
新建任务后可以对任务进行启动停止执行等操作在这里插入图片描述
到这一步,相应的开发已完成,可以进行测试执行,首先将任务打开,然后将本地项目跑起来,可供调度,最后在任务中选择执行,参数可选填,执行后,查看日志,如图
在这里插入图片描述
调度成功说明已建立关系,可以进行调度,
由于我是对旧项目进行迁移,所以在此遇到一个坑,就是在项目中已经引入了一个有关hessian的包,此处要将该包注释掉,因为有冲突

<dependency>
				<groupId>com.caucho</groupId>
				<artifactId>hessian</artifactId>
				<version>3.1.5</version>
</dependency>

注释后项目就可以运行了

3.0版本使用情况

https://blog.csdn.net/qq_39380192/article/details/122357960?spm=1001.2014.3001.5501

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值