quartz计划任务重新设置时间

                String hour = request.getParameter("hour");
		String minute = request.getParameter("minute");
		String second = request.getParameter("second");
		String[] commonNeeds  =  {second,minute,hour};// 具体时间
		
		//转换 时间规则
		String cronExpression  =  convertDateToCronExp(schduleType, commonNeeds,
				                    monthlyNeeds, weeklyNeeds);
		log.info("cronExpression: "+cronExpression);
		
		this.ctx = WebApplicationContextUtils.getWebApplicationContext(ServletActionContext.getServletContext());
		scheduler = (Scheduler)ctx.getBean("schedulerFactory");
		CronTriggerBean trigger = (CronTriggerBean) scheduler.getTrigger(
                "autoBakUpCronTrigger", Scheduler.DEFAULT_GROUP);
		trigger.setCronExpression(cronExpression);
		scheduler.rescheduleJob("autoBakUpCronTrigger", Scheduler.DEFAULT_GROUP, trigger);


   public  String convertDateToCronExp(String everyWhat,
            String[] commonNeeds, String[] monthlyNeeds, String weeklyNeeds)  {
        String cronEx  =   "" ;
        StringBuffer commons  =  new StringBuffer();
        if("".equals( commonNeeds[ 0 ])){
       	 commons.append("0");
        }else{
       	 commons.append(commonNeeds[ 0 ]);
        }
        
        if("".equals( commonNeeds[ 1 ])){
       	 commons.append("   0");
        }else{
       	 commons.append("   "+  commonNeeds[ 1 ]);
        }
        
        commons.append("   "+  commonNeeds[ 2 ]+   "   ");
        log.info("common: "+commons.toString());
        //commonNeeds[ 0 ]  +   "   "   +  commonNeeds[ 1 ]  +   "   "+  commonNeeds[ 2 ]  +   "   " ;
        String dayOfWeek  =   "" ;
         if  ( "month" .equals(everyWhat))  {
             //  eg.: 6#3 (day 6 = Friday and "#3" = the 3rd one in the
             //  month)
            dayOfWeek  =  monthlyNeeds[ 1 ]
                     +  CronExRelated.specialCharacters.get(CronExRelated._THENTH)  +  monthlyNeeds[ 0 ];
            cronEx  =  (commons.toString()
                     +  CronExRelated.specialCharacters.get(CronExRelated._ANY)
                     +   "   "
                     +  CronExRelated.specialCharacters.get(CronExRelated._EVERY)
                     +   "   "   +  dayOfWeek  +   "   " ).trim();
        }   else   if  ( "week" .equals(everyWhat))  {
            dayOfWeek  =  weeklyNeeds;  //  1
            cronEx  =  (commons.toString()
                     +  CronExRelated.specialCharacters.get(CronExRelated._ANY)
                     +   "   "
                     +  CronExRelated.specialCharacters.get(CronExRelated._EVERY)
                     +   "   "   +  dayOfWeek  +   "   " ).trim();
        }
         return  cronEx;
    }  
 

猜你喜欢

转载自peacherdiy.iteye.com/blog/1560728