Spring整合的quartz任务调度的实现方式
一、在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任务调度的实现方式的更多相关文章
- Spring整合Struts2框架的第二种方式(Action由Spring框架来创建)(推荐大家来使用的)
1. spring整合struts的基本操作见我的博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2框架整 ...
- Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。
1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...
- spring整合Quartz2持久化任务调度
转摘 https://blog.csdn.net/qwe6112071/article/details/50999386 因为通过Bean配置生成的JobDetail和CronTrigger或Simp ...
- spring整合mybatis,springMVC的0配置文件方式
0配置文件的形式主要是采用spring3.0提供的@configuration注解和spring容器在启动的时候会加载实现了WebApplicationInitializer的类,并调用其onStar ...
- 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 ...
- Spring与Quartz的整合实现定时任务调度 以及crontab的用法
最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现.对于一个新手来说,花了我不少时间,这里我写个笔记,给大家参考. 我使用的是Maven来管理项目,需要的Jar包我给大家贴 ...
- Spring与Quartz的整合实现定时任务调度(转)
源:http://kevin19900306.iteye.com/blog/1397744 最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现.对于一个新手来说,花了我不少 ...
- Spring与Quartz的整合实现定时任务调度
摘自: http://kevin19900306.iteye.com/blog/1397744 最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现.对于一个新手来说,花了我 ...
- Spring与Quartz的整合实现定时任务调度(转)
最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现.对于一个新手来说,花了我不少时间,这里我写个笔记,给大家参考.我使用的是Maven来管理项目,需要的Jar包我给大家贴出 ...
随机推荐
- HTML简单介绍及举例
超文本标记语言(Hyper Text Markup Language,简称HTML)是为"网页创建和其他可在网页浏览器中看到的信息"设计的一种标记语言.HTML被用来结构化信息,也 ...
- BZOJ 3314: [Usaco2013 Nov]Crowded Cows( 单调队列 )
从左到右扫一遍, 维护一个单调不递减队列. 然后再从右往左重复一遍然后就可以统计答案了. ------------------------------------------------------- ...
- mmc生产运输投资问题
本题目,有生产,运输和投资,由于能力不能满足需求, 要扩大生产规模.
- MinGW 介绍
SDL新手教程(一):3.MinGW 下的安装与设置 作者:龙飞 3.1:MinGW 是什么? MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境.MinGW 收集了一系列免费 ...
- sql: sybase与oracle中insert into select和select into的用法
1. sybase与oracle中insert into select和select into的用法 http://wjlvivid.iteye.com/blog/1921679 Sybase 一.首 ...
- Cocos2d-x 手游聊天系统需求分析
手游聊天系统需求分析 转载请注明:IT_xiao小巫 移动开发狂热者群:299402133 策划需求图 參考系统:刀塔传奇 点击这个.然后弹出以下的对话框 游戏类型:卡牌 分析:刀塔传奇聊天系统分为3 ...
- UVA 6480 Zombie Invasion(模拟退火)
A group of survivors has arrived by helicopter to an isolated island. The island is made up of a lon ...
- 基于MFC简单图片裁剪工具
话说这几天又没干啥正事,看书没效率,游戏也没怎么玩,尼玛时间都去哪儿了! --------------------------------------------------------------- ...
- 关于WM_ERASEBKGND和WM_PAINT的深刻理解
一直以来,对于WM_PAINT和WM_ERASEBKGND消息不是很清楚,从书上和网上找了很多资料,大体上有以下几点说法:1>WM_PAINT先产生,WM_ERASEBKGND后产生 2.WM_ ...
- Hive HA使用说明
hive让大数据飞了起来,不再需要专人写MR.平常我们都可以用基于thrift的任意语言来调用hive. 不过爱恨各半,hive的thrift不稳定也是出了名的.很容易就出问题,让人无计可施.唯一的办 ...