Quartz是由java编写的开源作业调度框架,其核心就是调度器。Quartz的实现非常简单,创建一个实现org.quartz.Job接口的java类。这个接口包含唯一的方法:
public void execute(JobExecutionContext context)
throws JobExecutionException;
在自己的实现类里面,添加一些处理逻辑到execute()方法。一旦你配置好Job实现类并设定好调度时间表,Quartz就可以在指定的时间执行相应的动作。
这里我们用一个简单地例子初步了解Quartz,我们要实现一个定时发送邮件的功能,这个逻辑用Quartz来处理非常的简单。首先我们需要建一个JOB类,这个类的逻辑是当到达指定的时间的时候就发送邮件。这样的逻辑应该很简单这里就不具体说明了。接下来我们要做的就是用Quartz任务调度来执行这个类,我们可以设置调度时间例如每隔一分钟去扫描一次,一旦符合JOB类中的情况就会做出相应的动作,达到定时发送邮件的效果。
本文主要是利用Spring来集成Quartz。我们只需要在Spring中配置相应的Trigger和Job,Spring在找到这些bean后会自动启动这些Job。下面是一些配置信息:
<!-- 要调用的工作类 class中的类即为我们刚刚建的JOB类 --> <bean id="quartzJob" class="com.job.quartz.QuartzJob"> <property name="sqlMap" ref="sqlMapClient" /> </bean>
<!-- 定义调用对象和调用对象的方法 --> <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 调用的类 --> <property name="targetObject"> <ref bean="quartzJob"/> </property> <!-- 调用类中的方法 --> <property name="targetMethod"> <value>exec</value> </property> </bean> <!--定义执行的时间 它定义了quartzJob何时被调用。 --> <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="jobtask"/> </property> <!-- 时间的表达式 --> <property name="cronExpression"> <value>0 0 12 * * ?value> </property> </bean> <!-- 如果将lazy-init='false' 那么容器在启动的时候就会执行调度程序 --> <bean id="startQuartz" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false"> <property name="triggers"> <list> <ref bean="doTime"/> </list> </property> </bean>通过以上的配置再加上我们的JOB类就可以利用Quartz轻松的实现定时发送邮件的效果了!
相关推荐
Spring+Quartz实现任务调度的小例子.本来不要资源分的,可是CSDN发布资源最低要求填写分值为1分,没办法了。
quartz java 任务调度的实例子 大家好好享用吧
NULL 博文链接:https://luoxj.iteye.com/blog/661337
使用Quartz实现作业、任务自动调度的经典例子—— 简单、清晰、明了,使你仅花几分钟就可快速掌握Java作业、任务自动调度的基本用法!
NULL 博文链接:https://jiaozhiguang-126-com.iteye.com/blog/1640488
1.spring框架使用任务调度quartz的例子。 2.Web App用Quartz实现java schedule 3.详细讲解Quartz如何从入门到精通 4.用 Quartz 进行作业调度
这个quartz任务调度例子可以直接运行,没有多余累赘的代码,需要的朋友只要稍微修改下就可运用到项目中
各种企业应用几乎都会碰到任务调度的需求,...对于一个典型的MIS系统来说,在每月1号凌晨统计上个月各部门的业务数据生成月报表,每半个小时查询用户是否已经有快到期的待处理业务……,这样的例子俯拾皆是,不胜枚举。
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的...
spring3.2.4+quartz2.2.0 定时调度例子,能正常运行的程序
C# 使用Quartz.NET作业调度的简单Windows服务事例。
NULL 博文链接:https://topbox163.iteye.com/blog/1095184
让我们从一个数据库报表的例子来看看任务调度能如何帮助改善系统设计。报表可能是错综复杂的,这取决于用户所需数据的种类,以及是否需要从一个或多个数据库收集大量数据。用户可能需要很长时间来运行这样的\"按需\...
Topshelf 开发Windows服务,Quartz.net开发任务调度。后者寄生在前者内。实际需求是需要执行周期性的重复业务操作,故要用任务调度插件。由于服务,winform,webform,控制台等程序,“服务”是最不会被干扰的(停掉...
java 使用quartz 的例子教程 有使用 quartz 任务调度 教程
quartz java定时调度代码,例子中每一分钟执行一次,可修改任意时间。rar
使用Quartz1.8版本,做的任务调度的测试demo,其中该博客中也有相应的介绍,版本不同,操作的类具体的实现不同,但是思路是大体相同的。 另外,为了做比较,另一个资源中,还会有2.0版本的demo。
Timer相信大家都已经非常熟悉java.util.Timer了,它是最简单的一种实现任务调度的方法,下面给出一个具体的例子:清单1.使用Timer进行任务调度使用Timer实现任务调度的核心类是Timer和TimerTask。其中Timer负责设定...
例子源码 博文链接:https://zmx.iteye.com/blog/1479582
关于spring调度的例子;| 两种方法:quartz 和 timer;| 适合学习;| 已经调试通过