spring定时器按照指定时间进行执行

一般我们使用spring定时器的时候都是配置的固定时间在spring配置文件中,如果我们有一个时间设置页面,通过这个页面设置定时器的执行时间,就可以达到动态执行的效果。

上代码:

 

package com.test.action;

import java.text.ParseException;

import javax.annotation.Resource;

import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.springframework.scheduling.quartz.CronTriggerBean;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;






import com.opensymphony.xwork2.ActionSupport;


public class TestAction extends ActionSupport{
   @Resource
   public CronTriggerBean triggerBean;  //系统
   public CronTriggerBean triggerTempBean; 
   @Resource
   private Scheduler scheduler; 
   private String configTime;
   public String configTime(){
      try {
         /*得到系统设置的定时器执行时间*/
         System.out.println(triggerBean.getCronExpression());
         /*得到指定定时器, testDoTrigger为applicationContext.xml中CronTriggerBean*/
         triggerTempBean = (CronTriggerBean) scheduler.getTrigger("testDoTrigger", Scheduler.DEFAULT_GROUP);
         /*指定定时器的执行时间*/
         System.out.println(triggerTempBean.getCronExpression());
         /*将指定定时器的执行时间设置为从前台传递过来的时间*/
         triggerTempBean.setCronExpression(configTime);
         /*让设置生效*/
         scheduler.rescheduleJob("testDoTrigger", Scheduler.DEFAULT_GROUP,triggerTempBean);
      } catch(ParseException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
      } catch(SchedulerException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
      }
      return SUCCESS;
   }
   
   public String getConfigTime(){
      return configTime;
   }
   
   public void setConfigTime(String configTime){
      this.configTime = configTime;
   }
   
  
   




}


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值