一、在web.xml中将配置文件的位置指定好。

Web.xml的配置如下:

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appversion="2.5"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

      http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/classes/beans.xml</param-value>

</context-param>

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

</web-app>

二、导入相关的jar包

三、编写相关的类文件

package cn.itcast;

import java.util.Date;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

import org.springframework.scheduling.quartz.QuartzJobBean;

/**

* 文件名    : CodeCurDate.java<br/>

* 创建人    :涂作权<br/>

下午02:09:20<br/>

* 描述          :  创建一个要执行任务的类,该类必须继承QuartzJobBean规范<br/>

* 版本号    : V1.0

*/

publicclass CodeCurDateextends QuartzJobBean {

/**

* 以某个时间段为周期,循环执行的方法

* 到大某个时间,要执行的方法

*/

protectedvoidexecuteInternal(JobExecutionContextarg0)

throws JobExecutionException {

System.out.println("ppppppppppppppppppppppppppppppppp");

System.out.println(new Date());

}

}

四、编写相关的配置文件

<?xmlversion="1.0"encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

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.5.xsd

                                  http://www.springframework.org/schema/context

                                  http://www.springframework.org/schema/context/spring-context-2.5.xsd

                                   http://www.springframework.org/schema/tx

                                  http://www.springframework.org/schema/tx/spring-tx-2.5.xsd

                                  http://www.springframework.org/schema/aop

                                  http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">

<!-- 1创建执行任务的类的实例 -->

<beanid="codeCurDate"class="org.springframework.scheduling.quartz.JobDetailBean">

<!--在spring中执行任务的类的实例的创建,不是通过spring的普通的方法,而是把融合到其他JobDetailBean类中-->

<property name="jobClass">

<value>cn.itcast.CodeCurDate</value>

</property>

</bean>

<!-- 2创建一个触发器,整合执行任务的类的实例和时间关联 -->

<beanid="codeCurDateTrigger"class="org.springframework.scheduling.quartz.SimpleTriggerBean">

<!-- 注入要执行任务的类的实例 -->

<property name="jobDetail"ref="codeCurDate"></property>

秒,以毫秒为单位 -->

<property name="startDelay"value="2000"/>

秒执行任务一次,以毫秒为单位-->

<property name="repeatInterval"value="4000"/>

</bean>

<!-- 3注册触发器,启动调度任务 -->

<beanclass="org.springframework.scheduling.quartz.SchedulerFactoryBean">

<property name="triggers">

<list>

<refbean="codeCurDateTrigger"/>

</list>

</property>

</bean>

</beans>

五、启动服务器,接着就可以看到控制台中每隔一段时间就与输出。

二、通过CronTrigerBean的方式实现的任务调度策略

首先:编写任务执行类

package cn.itcast;

import java.util.Date;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

importorg.springframework.scheduling.quartz.QuartzJobBean;

/**

*文件名     : CodeCurDate.java<br/>

*创建人     :涂作权<br/>

*日期时间:2013-6-18 下午02:54:57<br/>

*描述           :  <br/>

*版本号     :V1.0

*/

public class CodeCurDate extendsQuartzJobBean {

/**

* 以某个时间段为周期,循环执行的方法

* 到大某个时间,要执行的方法

*/

protectedvoid executeInternal(JobExecutionContext arg0)

throwsJobExecutionException {

System.out.println("PPPPPPPPPPPPPPPPPPPPPPPP");

System.out.println(newDate());

}

}

其次:在Spring的配置文件进行配置,配置代码如下:

<?xmlversion="1.0"encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

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.5.xsd

                                  http://www.springframework.org/schema/context

                                  http://www.springframework.org/schema/context/spring-context-2.5.xsd

                                   http://www.springframework.org/schema/tx

                                  http://www.springframework.org/schema/tx/spring-tx-2.5.xsd

                                  http://www.springframework.org/schema/aop

                                  http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">

<!-- 1创建执行任务的类的实例 -->

<beanid="codeCurDate"class="org.springframework.scheduling.quartz.JobDetailBean">

<!--在spring中执行任务的类的实例的创建,不是通过spring的普通的方法,而是把融合到其他JobDetailBean类中-->

<property name="jobClass">

<value>cn.itcast.CodeCurDate</value>

</property>

</bean>

<!-- 2创建一个触发器,整合执行任务的类的实例和时间关联 -->

<beanid="codeCurDateTrigger"class="org.springframework.scheduling.quartz.CronTriggerBean">

<!-- 注入执行任务的类 -->

<property name="jobDetail"ref="codeCurDate"/>

分将调用该触发器的执行 -->

<property name="cronExpression"value="0 32 13 * * ?"/>

</bean>

<!-- 3注册触发器,启动调度任务 -->

<beanclass="org.springframework.scheduling.quartz.SchedulerFactoryBean">

<property name="triggers">

<list>

<refbean="codeCurDateTrigger"/>

</list>

</property>

</bean>

</beans>

最后:在web.xml中配置相关数据

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appversion="2.5"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

      http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/classes/beans.xml</param-value>

</context-param>

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

</web-app>

Spring整合的quartz任务调度的实现方式的更多相关文章

  1. Spring整合Struts2框架的第二种方式(Action由Spring框架来创建)(推荐大家来使用的)

    1. spring整合struts的基本操作见我的博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2框架整 ...

  2. Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。

    1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...

  3. spring整合Quartz2持久化任务调度

    转摘 https://blog.csdn.net/qwe6112071/article/details/50999386 因为通过Bean配置生成的JobDetail和CronTrigger或Simp ...

  4. spring整合mybatis,springMVC的0配置文件方式

    0配置文件的形式主要是采用spring3.0提供的@configuration注解和spring容器在启动的时候会加载实现了WebApplicationInitializer的类,并调用其onStar ...

  5. Spring整合Hibernate:1、annotation方式管理SessionFactory

    1.在applicationContext.xml文件中初始化SessionFactory(annotation方式) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 ...

  6. Spring与Quartz的整合实现定时任务调度 以及crontab的用法

    最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现.对于一个新手来说,花了我不少时间,这里我写个笔记,给大家参考. 我使用的是Maven来管理项目,需要的Jar包我给大家贴 ...

  7. Spring与Quartz的整合实现定时任务调度(转)

    源:http://kevin19900306.iteye.com/blog/1397744 最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现.对于一个新手来说,花了我不少 ...

  8. Spring与Quartz的整合实现定时任务调度

    摘自: http://kevin19900306.iteye.com/blog/1397744 最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现.对于一个新手来说,花了我 ...

  9. Spring与Quartz的整合实现定时任务调度(转)

    最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现.对于一个新手来说,花了我不少时间,这里我写个笔记,给大家参考.我使用的是Maven来管理项目,需要的Jar包我给大家贴出 ...

随机推荐

  1. Flex中怎么给表格中的滚动栏定位

    1.问题背景 假设表格中的字段过多,会出现滚动栏,在将滚动栏滚到一定的位置时,又一次刷新表格.滚动栏会回到原处,原来查看的字段还得继续滚动,才干查看到. 2.实现实例 <? xml versio ...

  2. nodejs安装不了和npm安装不了的解决方法

    http://caibaojian.com/nodejs-roll-back.html

  3. git clone cm source &amp; cm vs android version

    $ git clone https://github.com/CyanogenMod/android_packages_apps_DeskClock.git -b cm-9.0.0 CM4代表(And ...

  4. Swift - 闭包的介绍及用法(以数组排序为例)

    闭包(即一些小的匿名代码块),可以像函数一样使用.可以很方便的将闭包传给其他函数,告诉它们应当如何执行某一个任务. 1,使用sort方法和闭包进行数组排序 sort方法返回一个数组的有序版本.(sor ...

  5. 最短路径A*算法原理及java代码实现(看不懂是我的失败)

    算法仅仅要懂原理了,代码都是小问题,先看以下理论,尤其是红色标注的(要源代码请留下邮箱,有測试用例,直接执行就可以) A*算法 百度上的解释: A*[1](A-Star)算法是一种静态路网中求解最短路 ...

  6. sqlserver bak还原

    一.查看: restore filelistonly from disk='F:\Db\A_backup.bak' 二.还原:RESTORE DATABASE AFROM DISK = 'F:\Db\ ...

  7. DDD领域驱动设计的理解

    DDD领域驱动设计的理解 从遇到问题开始 当人们要做一个软件系统时,一般总是因为遇到了什么问题,然后希望通过一个软件系统来解决. 比如,我是一家企业,然后我觉得我现在线下销售自己的产品还不够,我希望能 ...

  8. 百度地图SDK for Android v2.1.2全新发布

    2013年6月20日 Android SDK:V2.1.2产品上线 新增: 自定义指南针位置(类:MapController,方法:setCompassMargin) 自定义当前位置图标(类:MyLo ...

  9. Entity - 使用EF框架进行增删改查 - 模型先行

    模型先行:先创建数据库实体模型,然后再进行数据库的增删改查. 基本步骤是不变的,可参照 <Entity - 使用EF框架进行增删改查 - 数据库先行> 其中的不同是,在创建数据库实体模型的 ...

  10. RobotFramework 数据分离

    RobotFramework 数据分离分为三种 1. Run 添加参数 2. 外部的Python文件 3. 读取Excel Run 添加参数 (适用于jenkins) 使用-v 参数名:参数值 使用外 ...