spring的配置:
<!-- 使用spring对quartz定时任务调度的封装 -->
<bean id="myTask" class="com.demo.HelloTask"/>
<!-- 定义定时任务 -->
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="myTask" />
<property name="targetMethod" value="say" />
</bean>
<!-- 定义任务的触发器 -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDetail" />
<property name="cronExpression" value="0/15 * * * * ?" />
</bean>
<!-- 配置触发器的调度工厂 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list><ref bean="cronTrigger" /></list>
</property>
</bean>
要定时执行的方法:
public class HelloTask {
public void say(){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String s = sdf.format(date);
System.out.println(s+"hello");
}
}
测试类 :
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("app*.xml");
}
cronExpression的配置
字段 允许值 允许的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选) 留空, 1970-2099 , - * /
表达式意义
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
"0 15 10 15 * ?" 每月15日上午10:15触发
"0 15 10 L * ?" 每月最后一日的上午10:15触发
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发
每天早上6点
0 6 * * *
每两个小时
0 */2 * * *
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * *
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3
1月1日早上4点
0 4 1 1 *
分享到:
相关推荐
Spring Quartz 是一个强大的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Spring框架中集成Quartz,可以充分利用Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming...
- **基本概念**:Spring Task是Spring框架的一部分,提供了基本的定时任务调度功能,包括`@Scheduled`注解用于标记定时任务,以及`TaskScheduler`和`ThreadPoolTaskScheduler`接口用于异步执行任务。 - **@...
压缩包中的`ApManager`可能是一个类或者模块,它可能是实现定时任务调度的具体代码。在`ApManager`中,可能会包含使用`@Scheduled`注解的方法,这些方法将在指定的时间点由Spring的调度器执行。 6. **源码分析**:...
Spring框架作为Java领域广泛使用的轻量级框架,提供了与第三方库Quartz的整合,使得开发者能够轻松地在Spring应用中实现复杂的定时任务调度。Quartz是一款开源的作业调度框架,支持丰富的调度策略,可以满足各种定时...
Spring框架提供了强大的任务调度能力,使得开发者能够轻松地在Java环境中实现这一功能。本篇将深入探讨如何利用Spring进行任务调度,并结合代码演示和Quartz库的使用来丰富这一主题。 首先,Spring提供了两种主要的...
在Java中,有多种实现定时任务调度的方式,包括但不限于Java内置的`java.util.Timer`类、Spring框架的`@Scheduled`注解以及Quartz库。 1. **Java内置的`java.util.Timer`和`TimerTask`**: - `Timer`类用于创建一...
在Spring框架中,定时任务是实现系统自动化运行关键任务的重要工具。Spring提供了多种方式来创建和管理定时任务,...在chapter13目录下的文件可能包含了这些源码示例,你可以逐一研究,加深对Spring定时任务的理解。
结合Eclipse和Maven,创建Spring定时任务项目时,你需要: 1. 创建一个新的Maven项目,并添加Spring的相关依赖,如`spring-context`, `spring-context-support`(对于Spring Task),以及`quartz`和`spring-quartz`...
本资料“Spring实现任务调度”将深入探讨如何在Spring中设置和管理定时任务。 首先,我们需要理解Spring中的任务调度机制。Spring通过其`Task`模块提供了任务调度的功能,主要由两个核心组件构成:`TaskExecutor`和...
Spring框架提供了多种方式来实现定时任务,这使得开发者可以在不同场景下选择最适合的方案。本文主要探讨了Spring中实现定时任务的三种主要方法:Java的`java.util.Timer`、Quartz库以及Spring自身的Task调度器。 ...
在非Web项目中实现Spring定时任务,主要步骤如下: 1. **配置Spring Task**:在Spring的配置文件(如`applicationContext.xml`或使用Java配置类)中,我们需要启用任务调度功能并配置相应的执行器或调度器。例如,...
Spring在其核心模块中包含了Task模块,它提供了异步任务执行和定时任务调度的功能。这个模块主要由`org.springframework.scheduling`和`org.springframework.task`这两个包组成,它们提供了定时任务的接口和实现。 ...
在Spring框架中,定时任务是实现自动化操作的重要手段,它允许开发者在特定的时间间隔执行特定的任务,例如数据清理、报表生成等。在本实例中,我们关注的是Spring 3.0版本中的定时任务功能,这是一个基于Web工程的...
下面我们将深入探讨Spring定时任务所需的相关jar包以及它们的功能。 首先,Spring框架的核心jar包`spring-context.jar`是必不可少的。这个jar包包含了Spring的核心功能,如依赖注入(Dependency Injection,DI)、...
Spring 定时器 任务调度 怎么在项目中写定时任务 怎么配置一些环境
3、SpringCloudSchedule定时任务(使用mybatis读写mysql数据库, spring实现定时任务, 按照间隔时间或固定时间方式执行定时任务) 4、定时自动运行任务(在数据库中设置好定时时间,及运行的程序,及参数) 5、C#...
在Spring框架中,XML配置是传统且广泛使用的方式来设置应用的组件和行为,包括实现定时任务。定时任务在软件开发中扮演着重要角色,它允许应用程序在预设的时间执行特定的任务,例如数据清理、日志归档或者发送通知...
SpringBoot整合Quartz实现定时任务调度是企业级应用中常见的需求,主要用于自动化执行某些周期性的任务,例如数据备份、报表生成、系统维护等。Quartz是一个功能强大的开源作业调度框架,能够灵活地定义任务和调度...
Spring提供了三种主要的任务调度实现方式:Spring内置的任务调度器(TaskScheduler),Quartz Scheduler,以及Spring Batch。下面我们将详细介绍这三种方式。 1. Spring内置的任务调度器(TaskScheduler) Spring...
Spring框架提供了多种方式来实现定时任务调度,使得应用程序可以在预设的时间点或按照一定周期执行特定功能。在本文中,我们将探讨Spring中的两种主要方法:使用Spring Task(也称为Spring的定时调度任务)和集成...