首页 | 联系我们 | 叶凡网络官方QQ群:323842844
游客,欢迎您! 请登录 免费注册 忘记密码
您所在的位置:首页 > 新闻中心 > 行业新闻 > 正文

名扬互联:Spring定时任务小例子

作者:cocomyyz 来源: 日期:2013-12-26 9:26:57 人气:0 加入收藏 评论:0 标签:

闲着写了一个Spring定时任务的小例子,也积累一下,免得做Android开发把JavaEE的都忘记了!下面是Spring定时任务的代码:


这个是一个很简单的MyTime类,里面有一个方法就是得到当前时间并且打印出来


package com.zhangkeinfo.spring.time;  

import java.sql.Timestamp;  

/**  

* spring 定时任务  

* @author spring sky  

* Email:vipa1888@163.com  

* QQ:840950105  

*  

*/

public class MyTime {  

   public void getTime()  

   {  

       Timestamp tt = new Timestamp(System.currentTimeMillis());  

       System.out.println(tt.toString());  

   }  

}  

核心的代码:


package com.zhangkeinfo.spring.time;  

import org.quartz.JobExecutionContext;  

import org.quartz.JobExecutionException;  

import org.springframework.scheduling.quartz.QuartzJobBean;  

/**  

* spring 定时任务  

* @author spring sky  

* Email:vipa1888@163.com  

* QQ:840950105  

* #####spring 定时任务需要继承QuartzJobBean 这种方式是最常用的!  

* #####同时就实现了抽象方法executeInternal  

*  

*/

public class UpdateTime extends QuartzJobBean{  

     

   private MyTime myTime;  

   /**  

    * 依赖注入myTime  

    * @param myTime  

    */

   public void setMyTime(MyTime myTime) {  

       this.myTime = myTime;  

   }  

   /**  

    * 我在这个定时任务里面只做了一个很简单的事情,就是打印出当前的时间!  

    */

   @Override

   protected void executeInternal(JobExecutionContext context)  

           throws JobExecutionException {  

       myTime.getTime();  

   }  

}

上面需要注意的是参数:context,这个参数有很大的作用,就是可以得到一些重要的值,context有一个get(key)方法,这个就是可以得到一个需要的数据!


applicationContext.xml中的配置:


<!-- spring定时任务的配置 -->  

<bean class="com.zhangkeinfo.spring.time.MyTime" id="myTime"/>  

<!-- 基础的配置   相关类的注入 -->  

<bean class="org.springframework.scheduling.quartz.JobDetailBean" id="MyTimeSpringJob">  

   <property name="jobClass" value="com.zhangkeinfo.spring.time.UpdateTime"/>  <!-- value中配置的是我自己写的UpdateTime类  name就是spring的jobClass -->  

   <property name="jobDataAsMap">            <!-- 当定时任务中需要注入别的bean的时候,就可以在这里注入,我里面输入了一个MyTime类 -->  

       <map>  

           <entry key="myTime" value-ref="myTime"/>  

       </map>  

   </property>  

</bean>  

<!-- 相关的时间配置 -->  

<bean class="org.springframework.scheduling.quartz.SimpleTriggerBean" id="MyTimesimpleTriggerBean">  

   <property name="jobDetail" ref="MyTimeSpringJob"/>   <!-- 给MyTimeSpringJob配置时间信息,name的jobDetail是spring内部需要注入的名字 -->  

    <property name="repeatInterval" value="1000"/>       <!--相隔1000毫秒执行一次 -->  

     <property name="startDelay" value="5000"/>          <!--tomcat或者jboss启动5000毫秒后开始执行任务 -->  

</bean>  

<!--  

    当前注释的内容配置的功能很强大,还可以配置星期几,哪一天,那一年,或者那一日的那一秒都是可以配置的  

    当前配置的是:每个周的星期天23:59:50     这个顺序是倒序配置的  

    value中的内容:  

    第6位:的1代表星期天,在国外星期天才是每个周的开始!  

   第5位: *代表所有月的星期天  

   第4位:?代表也没有具体到某日的星期天  

   第3位:23代表23点,注意:采用24小时  

   第2位:59代表分钟  

   第1位:50代表秒  

<bean class="org.springframework.scheduling.quartz.CronTriggerBean">  

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

    <property name="cronExpression" value="50 59 23 ? * 1"/>  

     

</bean>  

     -->  

<!-- ****************启动定时任务***************** -->  

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  

   <property name="triggers">  

       <list>  

       <ref bean="MyTimesimpleTriggerBean"/>  

       </list>  

   </property>  

</bean>

上面的spring xml文件中的基本配置,我已经详细说明了里面的参数,学习也在于积累,只有积累了,才会不断的成长!


本文网址:http://www.mingyangnet.com/html/hangye/1525.html
读完这篇文章后,您心情如何?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
更多>>网友评论
发表评论
编辑推荐
  • 没有资料