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包我给大家贴出 ...
随机推荐
- [Android] 更改关联的源码路径
右击选中工程 → Java Build Path → Libraries → Android 4.1.2 → 点开android.jar → 选中Source attachment → Edit,即可 ...
- C# WinForm 和 javascript进行交互 使用HTML做界面
01 using System; 02 using System.Collections.Generic; 03 using System.Text; 04 using System.Reflecti ...
- python 读取图片的尺寸、分辨率
#需要安装PIL模块 #encoding=gbk#--------------------------------------------------------------------------- ...
- Milonga_百度百科
Milonga_百度百科 Milonga是Tango的一种.源于并盛行于阿根廷.6/8拍的舞曲.节奏为 AXX BXX CX 分别都是8分音符.由于第3组节奏音只有2个8分音符,比前2组而缺少 ...
- Codeforces Round #199 (Div. 2) B. Xenia and Spies
B. Xenia and Spies time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- java泛型接口详解
/* * 泛型接口 */ interface Tool<T> { public void show(T t); //泛型方法 public <E> void print(E e ...
- Jenkins快速搭建持续集成
基于Jenkins快速搭建持续集成环境 Jenkins+tortoisesvn+MSBuild做到持续集成 附Jenkins的使用:http://www.infoq.com/cn/articles/M ...
- post 请求参数
perl代码: my $login_url='http://192.168.1.1/getpage.gch?pid=1001&logout=1'; my $res = $ua->post ...
- 优化Java堆大小5温馨提示
总结:Java没有足够的堆大小可能会导致性能非常大的影响,这无疑将给予必要的程序,并不能带来麻烦.本文总结了影响Java居前五位的能力不足,并整齐地叠优化? 笔者Pierre有一个10高级系统架构师有 ...
- Beauty of Array
Description Edward has an array A with N integers. He defines the beauty of an array as the summatio ...