java2借助于java.util.Timer和java.util.TimerTask,这样两个类能够为应用提供简单定时器功能。
而Quartz是Open Source社区努力的结果,它能够提供任务调度服务,任何J2SE和J2EE应用都能够使用它,借助于Quartz,开发者能够完成各种复杂的任务调度。
Spring集成了上述两种任务调度服务的支持。
下面对Quartz的使用进行介绍:
创建一个java类:
package com.openv.spring; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; public class LogJobBean extends QuartzJobBean{ protected static final Log log=LogFactory.getLog(LogJobBean.class); private int timeout; public void setTimeout(int timeout){ log.info("setTimeout()........."); this.timeout=timeout; } @Override protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { log.info("Creating LogJobBean()........."); } }
写入配置文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean name="logJob" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>com.openv.spring.LogJobBean</value> </property> <property name="jobDataAsMap"> <map> <entry key="timeout"> <value>10</value> </entry> </map> </property> </bean> <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> <property name="jobDetail"> <ref bean="logJob"/> </property> <property name="startDelay"> <value>5000</value> </property> <property name="repeatInterval"> <value>2000</value> </property> <property name="repeatCount"> <value>3</value> </property> </bean> <bean id="sfb" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref local="simpleTrigger"/> </list> </property> </bean> </beans>
使用测试类:
package com.openv.spring; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; /** * * @author weiliuhong * */ public class Main { protected static Log log=LogFactory.getLog(Main.class); /** * @param <Scheduler> * @param args */ public static void main(String[] args) { Resource resource=new ClassPathResource("appcontext.xml"); BeanFactory factory=new XmlBeanFactory(resource); Scheduler sfb=(Scheduler)factory.getBean("sfb"); try{ Thread.sleep(20000); }catch (InterruptedException e) { log.error(e.getMessage(),e); } try{ sfb.shutdown(); }catch(SchedulerException se){ log.error(se.getMessage(),se); } } }
这样就实现对timer的调用
相关推荐
源码 博文链接:https://zmx.iteye.com/blog/1479602
(10) spring-support.jar 这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。 (11) spring-web.jar 这个jar文件包含Web应用...
这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。 UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、...
这个jar文件包含Spring对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,因为Hibernate已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖 spring-dao.jar里的类,用这个包时你...
这个jar文件包含Spring对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,因为Hibernate已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖 spring-dao.jar里的类,用这个包时...
13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form标签 ...
13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form...
13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置 13.9.2. form标签 ...
简单邮件 HTML 邮件 内嵌图片或附档 排程 Spring则对 java.util.Timer提供了抽象封装,让您可以善用Spring的容器管理功能,而Spring对Quartz进行了封装,让它在使用上更加方便。 使用 ...
13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置 13.9.2. form标签 ...
13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form...
13.4.2 Spring对JDK Timer的支持 13.5 Spring对JDK 5.0 Executor的支持 13.5.1 了解JDK 5.0的Executor 13.5.2 Spring对Executor所提供的抽象 13.6 实际应用中的任务调度 13.6.1 如何产生任务 13.6.2 任务调度对应用...
5.1.2 理解Spring对事务管理的支持 5.1.3 介绍Spring的事务管理器 5.2 在Spring中编写事务 5.3 声明式事务 5.3.1 理解事务属性 5.3.2 声明一个简单的事务策略 5.4 通过方法名声明事务 ...
5.3.3使用spring对jdbc的dao支持类 5.4在spring里集成hibernate 5.4.1选择hibernate的版本 5.4.2使用hibernate模板 5.4.3建立基于hibernate的dao 5.4.4使用hibernate3上下文会话 5.5spring和java持久api ...
5.3.3 使用Spring对JDBC的DAO支持类 5.4 在Spring里集成Hibernate 5.4.1 选择Hibernate的版本 5.4.2 使用Hibernate模板 5.4.3 建立基于Hibernate的DAO 5.4.4 使用Hibernate 3上下文会话 5.5 Spring和Java...
5.3.3 使用Spring对JDBC的DAO支持类 5.4 在Spring里集成Hibernate 5.4.1 选择Hibernate的版本 5.4.2 使用Hibernate模板 5.4.3 建立基于Hibernate的DAO 5.4.4 使用Hibernate 3上下文会话 5.5 Spring和Java...
13.4.2 Spring对JDK Timer的支持 13.5 Spring对JDK 5.0 Executor的支持 13.5.1 了解JDK 5.0的Executor 13.5.2 Spring对Executor所提供的抽象 13.6 实际应用中的任务调度 13.6.1 如何产生任务 13.6.2 任务调度对应用...
java 中Spring task定时任务的深入理解 ...同时,spring还支持使用Java自带的Timer定时器和Quartz定时框架。限于篇幅,这里将只介绍spring task的使用。 其实,官方文档已经介绍地足够详细,只不过都是英
计时器 灵感来自mateusmaso/计时器 var timer = new Timer ( ) ; timer . start ( ) ; timer . stop ( ) ; timer . pause ( ) ; timer . resume ( ) ; timer . seconds ;
metrics-jvm - 用于监控 JVM 的一系列仪表和仪表metrics-spring -Ryan Tenney 的库,为使用 Spring 配置指标提供支持。 它包含一个 Spring MVC 控制器。 每个 Web 请求处理程序方法(慢速、快速、随机)都使用 ...