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;
}
}