Spring 配置 定时器

要实现每隔多长时间发送一个请求

在applicationContext.xml中配置

所需jar包:

链接:http://pan.baidu.com/s/1jGL4kzO 密码:6ojg

一,配置目标类

<pre name="code" class="html">   <bean id="backupAdListPolicyJob" class="com.hyan.jms.Test">  
    <property name="para" value="Spring定时测试v1"></property>
   </bean>


二,定时器配置
 <bean id="scheduSer" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
        <!-- 指定 要执行的定时任务类 -->  
        <property name="targetObject">  
            <ref bean="scheduImpl"/>  
        </property>  
        <!-- 指定执行任务的方法名称-->  
        <property name="targetMethod">  
            <value>scheduImpl</value>  
        </property>  
    </bean>  
三,定时器时间间隔
 <bean id="timeTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">  
        <!-- 声明要运行的实体 -->  
        <property name="jobDetail">  
            <ref bean="scheduSer"/>  
        </property>  
        <property name="cronExpression">  
            <!-- 在每天10点到下午10:59期间的每1分钟触发  -->  
            <value>0 * 10 * * ?</value>  
        </property>  
    </bean>
四,启动定时器

<bean id="sfb" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  
        <property name="triggers">  
            <list>  
                <ref local="timeTrigger"/>  
            </list>  
        </property>  
</bean>
在web.xml中的配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="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/applicationContext.xml</param-value>
 </context-param>

 <listener>
  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
 </listener>
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

java的实现代码

package com.hyan.jms;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
	 private String para;
	 public void scheduImpl(){
	  SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	  System.out.println(para+" Time is :"+format.format(new Date()));
	 }
	 public String getPara() {
	  return para;
	 }
	 public void setPara(String para) {
	  this.para = para;
	 }

}

启动tomcat 实现效果

技术分享

关于定时器的表达式

时间的配置如下:
<value>0 * 10 * * ?</value> 
时间大小由小到大排列,从秒开始,顺序为 秒,分,时,天,月,年    *为任意 ?为无限制。由此上面所配置的内容就是,在每天10点到下午10:59期间的每1分钟触发

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。