Spring下配置job

本文详细介绍了如何使用Maven管理并配置一个定时执行的job,包括使用Maven打包为可运行jar包,以及在applicationContext.xml文件中设置定时任务的cron表达式。通过执行命令“mvn package”生成的jar包能够实现每5秒执行一次job,展示了Maven在自动化构建和管理依赖方面的强大能力。

没什么可说的, 今天把以前配置的一个job重新整理了下,用maven管理了。 

 

 

应该说用Maven的特性更多一些:打成的jar是可运行的, 打成的jar包里包括了运行所依赖的jar。

 

 

执行“mvn package”后, 再运行“java -jar .\target\rmn190Proj-jar-with-dependencies.jar”命令。

 

如下输出:

 

main started. and current second is: 1

job executed.current second is: 30

job executed.current second is: 35

job executed.current second is: 40

job executed.current second is: 45

job executed.current second is: 50

job executed.current second is: 55

 

 

============

关于job运行时间点,applicationContext.xml文件中有如下说明

 

   <!-- 

           1 Seconds (0–59)

2 Minutes (0–59)

3 Hours (0–23)

4 Day of month (1–31)

5 Month (1–12 or JAN–DEC)

6 Day of week (1–7 or SUN–SAT)

7 Year (1970–2099)

           -->

 

<!-- 每隔5秒跑一次,30表示首次执行时等30秒,  

           实验所得数据如下:

main started. and current second is: 1

job executed.current second is: 30

job executed.current second is: 35

job executed.current second is: 40

job executed.current second is: 45

job executed.current second is: 50

job executed.current second is: 55

job executed.current second is: 30

job executed.current second is: 35

job executed.current second is: 40

           -->

          <property name="cronExpression" value="30/5 * * * * ?" />

 

 

 

Spring配置XxlJob主要是为了让Spring应用能够管理和驱动XXL-JOB这个分布式任务调度框架。以下是配置的基本步骤: 1. 添加依赖:首先,在你的Maven或Gradle构建文件中添加XXL-JOBSpring支持库。 ```xml <!-- Maven --> <dependency> <groupId>com.taobao.xxl.job</groupId> <artifactId>xxl-job-spring-boot-starter</artifactId> <version>版本号</version> </dependency> // Gradle implementation 'com.taobao.xxl.job:xxl-job-spring-boot-starter:版本号' ``` 2. 配置Spring Boot:在Spring Boot的主配置文件application.properties或yml中添加XXL-JOB的相关配置,例如数据库连接信息、任务存储地址等。 ```properties # Spring Boot配置 xxl.job.plugin.storage.type=redis // 任务存储方式,默认Redis xxl.job.redis.host=localhost xxl.job.redis.port=6379 xxl.job.queue.name=myTaskQueue // 任务队列名称 # 数据库驱动及配置(如MySQL) xxl.job.sqlSessionFactory.type=mysql xxl.job.sqlSessionFactory.dataSource DataSourceName ``` 3. 定义任务:创建Spring Bean来表示XXL-JOB的任务,并配置其属性,如cron表达式、任务类路径、是否并发等。 ```java @Configuration @EnableXxlJob public class XxlJobConfig { @Bean public JobRegistry jobRegistry() { return new MemoryJobRegistry(); } @Bean public SimpleJobRepository simpleJobRepository(@Qualifier("jobRegistry") JobRegistry registry) { return new SimpleJobRepository(registry); } @Bean public JobListener listener(JobScheduler scheduler) { return new MyJobListener(scheduler); } // 根据实际业务编写任务类 @XxlJob注解 public void myJobListener(Executor executor) { // 任务执行逻辑 } } ``` 在这个例子中,`MyJobListener`实现了`JobListener`接口,用于监听任务状态变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值