java定時器

public class TimerListener implements ServletContextListener
{
 private Timer containerTimer = null; 
 
 /**
  * 定時器的執行
  */
 public void contextInitialized(ServletContextEvent e)
 {
  try
  {
   e.getServletContext().log("定時器已經啓動");
   this.containerTimer = new Timer();
   this.containerTimer.schedule(BusiContainer.getInstance(),
     new Date(), (long) (30 * 1000));//系統從啓動開始,每個一個小時執行任務一次
   e.getServletContext().log("已經添加任務調度");
  }
  catch(Exception ex)
  {
   ex.printStackTrace();
  }
 }
 
 /**
  * 定時器的銷燬
  * @param e
  */
 public void contextDestroyed(ServletContextEvent e)
 {
  containerTimer.cancel();
  e.getServletContext().log("定時器銷燬");
 }
}


public class BusiContainer extends TimerTask
{
    private static BusiContainer busiContainer = null;
   
    private BusiContainer()
    {
    }
   
    public void run()
    {
//     try {
//   AutoProcessSalesDataByPos salesProcess = new AutoProcessSalesDataByPos();
//   salesProcess.dataProcess();
//  } catch (Exception e) {
//   e.printStackTrace();
//  }
//  
  try
  {
   System.out.println("線程退貨數據開始執行**********************************");
   ReturnOrderPosJC returnPos = new ReturnOrderPosJC();
   returnPos.dataProcess();
  }
  catch(Exception e)
  {
   e.printStackTrace();
  }     
    }
   
    public static BusiContainer getInstance() throws Exception
    {
        if (busiContainer == null)
        {
            busiContainer = new BusiContainer();
        }
        return busiContainer;
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章