连接:http://www.blogjava.net/laoding/articles/227041.html
首先是spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!--你要执行的那个类的bean定义-->
<bean id="searchEngerneService" class="com.strongit.service.impl.SearchEngerneServiceImpl"></bean>
<!--定义定时执行searchEngerneService 这个bean中的timeTask()方法-->
<bean id="searchEngerneTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!--你要执行的那个方法对应的bean-->
<property name="targetObject">
<ref bean="searchEngerneService" />
</property>
<!--你要执行那个方法,注意方法不能有返回值,参数好像也不能有-->
<property name="targetMethod">
<value>timeTask</value>
</property>
</bean>
<!--触发器的bean的设置,在这里我们设置了我们要触发的jobDetail是哪个。这里我们定义了要触发的jobDetail是searchEngerneTask,即触发器去触发哪个bean..并且我们还定义了触发的时间-->
<bean id="cronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="searchEngerneTask" />
</property>
<property name="cronExpression">
<!-- 关键在配置此表达式,时间设置这里表示每天晚上23点执行,最后也写出了一些,具体可以自己去找资料看 -->
<value>0 0 23 * * ?</value>
</property>
</bean>
<!--管理触发器的总设置,管理我们的触发器列表,可以在bean的list中放置多个触发器。
-->
<bean autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
</bean>
</beans>
执行的那个类和方法我就不写了,自己随便写个简单的测试就可以了
下面是执行主方法
public class TestTimer {
/**
* @Description 方法实现功能描述
* @param args
* void
* @throws 抛出异常说明
*/
public static void main(String[] args) {
//这里的spring配置文件的路径自己修改
ApplicationContext context = new FileSystemXmlApplicationContext("/WebRoot/WEB-INF/application*.xml");
System.out.println("*****完毕******");
}
}
这个方法的作用就是将spring跑起来
OK啦
就是这么简单
欢迎讨论!!
以下是网上摘抄的一些说明:
字段允许值允许的特殊字符
秒 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触发
分享到:
相关推荐
在多应用服务器负载均衡环境下,Spring Quartz定时任务的重复执行问题是一个常见的挑战。Spring Quartz是一个强大的、开源的作业调度框架,允许开发者定义和执行复杂的定时任务。然而,当多个服务器实例并行运行时,...
下面我们将深入探讨如何利用Spring注解实现Quartz定时执行功能。 首先,我们需要引入Quartz和Spring的相关依赖。在Maven的pom.xml文件中添加以下依赖: ```xml <groupId>org.quartz-scheduler <artifactId>...
本文将详细解析“spring quartz定时任务demo”这个项目,它提供了实现Java定时任务的实例,便于快速理解和应用。 首先,Quartz是一个开源的作业调度框架,支持复杂的调度策略,可以创建、调度和执行重复或一次性...
使用Spring Quartz执行定时任务
标题中的“spring2.0 Quartz 执行每天定时任务 普通普是执行任务”涉及到的是在Spring 2.0框架中使用Quartz库来创建并执行每天定时任务的场景。Quartz是一款强大的开源作业调度框架,它可以用来按计划执行各种任务,...
3. **定义Job**:创建一个实现了`org.quartz.Job`接口的类,这个类代表了需要定时执行的任务。例如,我们可以创建一个名为`MyJob`的类: ```java public class MyJob implements Job { @Override public void ...
总结,通过以上步骤,我们就成功地在Spring 3中配置了Quartz定时任务,实现了每10秒执行一次的任务。在实际应用中,你可以根据需求定义更复杂的作业和触发器,以及使用Quartz的其他高级特性,如集群支持、持久化作业...
Spring Quartz定时任务是Java开发中常见的一种任务调度框架,它结合了Spring的优秀特性与Quartz的灵活性,使得开发者能够方便地在应用中实现定时任务的管理。在本压缩包中,包含的是`log4j-1.2.14.jar`这个日志处理...
在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+mybatis+quartz动态定时任务创建"就是一个常见的技术栈,用于实现这样的目标。这个组合充分利用了各组件的优势,提供了强大的后端服务支持...
在Spring中整合Quartz,我们可以利用Spring的管理能力,如bean的生命周期管理和事务管理,来更方便地创建和管理定时任务。 **Spring+Quartz动态定时任务创建** 将Spring与Quartz结合,我们可以方便地在运行时动态...
- 对于多实例问题,可以配置Quartz为集群模式,确保只有一个实例执行任务。 - 检查并修正Spring的定时任务配置,确保只触发一次任务。 - 如果任务不是线程安全的,需要确保其在执行时互斥,例如使用`synchronized`...
Quartz是一个开源的作业调度框架,支持丰富的调度策略,包括简单的定时执行、按日程表执行以及复杂的表达式执行。Spring框架则提供了一种优雅的方式来整合Quartz,使我们能够利用Spring的依赖注入和管理功能来处理...
Spring提供`CronTriggerBean`来创建基于cron表达式的触发器,或使用`SimpleTriggerBean`定义间隔执行任务。 5. **配置Spring XML**:在Spring的配置文件中,你需要声明Job和Trigger,并将它们绑定到Scheduler。例如...
Spring Quartz 是一个强大的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Spring框架中集成Quartz,可以充分利用Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming...
通过以上步骤,你可以在Spring中成功配置并运行多个Quartz定时任务。记得在你的应用启动时启动Scheduler,以便Quartz能够按照预定的时间表执行任务。同时,你可以通过调整JobDetail和Trigger的属性,灵活地控制任务...
本项目提供了一套完整的Spring Quartz定时作业的实现,包括任务、触发器和调度的配置文件,只需将这些资源部署到Tomcat服务器上即可运行。 1. **Spring Quartz简介** Spring Quartz是基于开源Quartz Scheduler的一...
总之,Spring Quartz定时调度jar包为开发者提供了强大的定时任务管理能力,无论是简单的一次性任务还是复杂的周期性任务,都可以轻松处理。通过Spring的管理,任务的创建和维护变得更加灵活和易于测试。在实际开发中...
Spring Quartz 动态暂停、恢复、修改定时任务的一个demo,使用maven构建,框架采用spring springmvc jpa,数据库mysql,含数据库脚本,运行可用,页面访问地址http://localhost:8080/quartz_demo/quartz/list
它支持在指定时间执行任务,也支持按照一定的时间频率执行任务。Quartz不仅可以调度单个任务,还可以构建一个集群的调度环境,并且可以与数据库交互,支持监听器、插件和集群功能,适合大型分布式系统和需要高可用性...