任务类
public class ScheduleTask {
private  boolean isRun=false; 
    private  Timer timer=new Timer();

//计划
private int id;
private String nick;//计划名称
private  int numbergoods;//上架优化的总数量
private String plantime;
private String cid;//优化范围
    private String state;


public ScheduleTask() {
super();
}
get set....... public static ScheduleTask getName(ScheduleTask name){
if(name == null){
name = new ScheduleTask();
}else{
return name;
}
return name;
}


//---------------------------------------------------------------------------------------------//

/**
 * 开启上架优化任务
 */
   
 public void start(String nick){

 Calendar calendar = Calendar.getInstance();  
 calendar.set(Calendar.HOUR_OF_DAY, 01);  
 calendar.set(Calendar.MINUTE, 00);  
 calendar.set(Calendar.SECOND, 0);  
// Date time = calendar.getTime();  
     if(!isRun){
      isRun=true;
        timer.schedule(new ScheduleJob(nick),1,4000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
    }
    }
 
 /**
  * 关闭定时器
  */
 
 public void shut(ScheduleTask name) {
 
   this.isRun=false;
   this.timer.cancel();
 name = null;
// System.gc();//name.timer.cancel();
 System.out.println("关闭:"+name.getNick());
// name = null;
// System.gc();
}
 class  ScheduleJob extends java.util.TimerTask{
 private String name;
 protected final SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd-EE");
@Override
    public void run() { List<ExecutionTime> taskDate=ExecutionTimeBusiness.getfind(name);
      
}

}action  代码
/**
 * 开启
 * @throws UnsupportedEncodingException 
 * 
 */
public String openTask() throws UnsupportedEncodingException{
HttpServletRequest request = ServletActionContext.getRequest();
String nick=URLDecoder.decode(request.getParameter("nick"),"utf-8");
String status=URLDecoder.decode(request.getParameter("status"),"utf-8");
ScheduleTaskBusiness.changeStatus(status);//修改状态
ScheduleTask  task=ScheduleTaskBusiness.findTask(nick);

    if(task!=null){
    
     ScheduleTask job =ScheduleTask.getName(task);
     job.start(job.getNick());
   }
return null;


}
/**
 * 任务关闭
 * @throws UnsupportedEncodingException 
 */
public String occludeTask() throws UnsupportedEncodingException{
HttpServletRequest request = ServletActionContext.getRequest();
    String nick=URLDecoder.decode(request.getParameter("nick"),"utf-8");
    String status=URLDecoder.decode(request.getParameter("status"),"utf-8");
    ScheduleTaskBusiness.changeStatus(status);//修改状态
         ScheduleTask  task=ScheduleTaskBusiness.findTask(nick);
         
 if(task!=null){
 
 ScheduleTask job =ScheduleTask.getName(task);
job.shut(job);
}
return null;

}