spring 定时任务(quartz方式实现)

spring  quartz方式实现 定时任务
需要插件commons-collections.jar  jta.jar   quartz-all-1.6.0.jar
/**************************任务执行类(timingtask.TimeTaskTest)配置****************************/
package timingtask;

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

public class TimeTaskTest extends TimerTask{

 @Override
 public void run() {
    SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    String str = sp.format(new Date());
    System.out.println("clock..!clock....!......."+str);
  
 }
}
/**************************spring  applicationContext.xml配置****************************/
<!-- 第一步声明一个定时任务,注意不是直接声明,而是声明一个JobDetailBean,通过jobClass属性设置一个定时对

象 -->
<bean id="quartzClock" class="org.springframework.scheduling.quartz.JobDetailBean">
   <property name="jobClass">
    <value>timingtask.TimeTaskTest</value>
   </property>
</bean>

<!-- 第二步 调度定时任务 --> 

    <!--  服务启动后6秒后执行   然后每三秒执行一次
   <bean id="quartzClockTask" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
    <property name="jobDetail">
     <ref bean="quartzClock"/>
    </property>
    <property name="startDelay">
     <value>6000</value>服务启动多少时间后 执行  时间单位为ms   
    </property>
    <property name="repeatInterval">
     <value>3000</value>服务启动后 没间隔多少时间执行  时间单位为ms          
    </property>
   </bean>
    -->
    <!-- 定时执行 -->
    <bean id="cronQuartzClock" class="org.springframework.scheduling.quartz.CronTriggerBean">
   <property name="jobDetail">
    <ref bean="quartzClock"></ref>
   </property>
   <property name="cronExpression">
    <value>0 0 10,14,16 * * ?</value><!--定时在任何月份任何日期(不管星期几)的22点52分0秒 -->
     <!-- 一个cron表达式有到少6个(也可能是7个)由空格分隔的时间元素.从左到右,这些元素的定义如下:
      1.秒(0-59)
      2.分钟(0-59)
      3.小时(0-23)
      4.月份中的是期(1-31)
      5.月份(1-12或SUN-DEC)
      6.星期中的日期(1-7或SUN-SAT)
      7.年份(1970-2099)
     例子:
      0 0 10,14,16 * * ? 每天上午10点,下午2点和下午4点
      0 0,15,30,45 * 1-10 * ? 每月前10天每隔15分钟
      30 0 0 1 1 ? 2012 在2012年1月1日午夜过30秒时
      0 0 8-5 ? * MON-FRI 每个工作日的工作时间
    
      - 区间
      * 通配符
      ? 你不想设置那个字段
     -->
   </property> 
</bean>

<!--第三步 启动定时任务,注意这里的ref bean -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
   <property name="triggers">
    <list>
     <ref bean="cronQuartzClock"></ref>
    </list>
   </property>
</bean>
/**************************web.xml配置****************************/
<!-- Spring  初始化监听器 -->
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath*:*Context.xml,/WEB-INF/*Context.xml</param-value>
 </context-param>
 
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-

class>
 </listener>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值