熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

JAVA中定時自動完成任務的實現

2022-06-13   來源: Java核心技術 

  JAVA中定時自動完成任務的實現要用到JAVA中的定時器TimerTask和監聽器聽起來貌似有點困難但是實現起來還是比較容易的!紙老虎~~!

  下面的列子很詳細是關於定時向服務器上傳(也可以是其他的動作這是看需要關於上傳我博客有寫過可以參考)文件的列子簡單的步就可以實現

  首先創建動作bean

  package comsuntime;

  public class UploadFile{

  /**

  *實現上傳的代碼s省略  可以看下我下面的篇日志

  __haiming/blog/static// 使用smarupload 實現上傳下載[有例子]

  __haiming/blog/static// 使用Struts多文件上傳

  */

  public void upload()

  {

  Systemoutprintln(系統自動的上傳文件了);

  }

  }

  創建定時器MyTaker並完成相應的功能

  package comsuntime;

  import javautilCalendar;

  import javautilTimerTask;

  import javaxservletServletContext;

  public class MyTaker extends TimerTask {

  private static boolean isRun = false;

  private   ServletContext context ;

  private Calendar ca  = CalendargetInstance();

  public MyTaker(ServletContext context)

  {

  ntext = context;

  }

  @Override

  public void run() {

  if(!isRun){

  if(==caget(CalendarMINUTE)){

  isRun = true;

  contextlog(正在執行所加載的任務);

  UploadFile uf= new UploadFile();

  ufupload();

  isRun =false;

  contextlog(任務順利完成);

  }

  }

  else

  {

  Systemoutprintln(任務還沒有執行完畢);

  }

  }

  }

  創建監聽器ContextListener

  package comsuntime;

  import javaxservletServletContextEvent;

  import javaxservletServletContextListener;

  import comsuntimeMyTaker;

  import javautil*;

  public class ContexListener  implements ServletContextListener{

  private  Timer timer = null;

  @Override

  public void contextDestroyed(ServletContextEvent event) {

  timercancel();

  eventgetServletContext()log(任務列表已經銷毀了);

  }

  @Override

  public void contextInitialized(ServletContextEvent event) {

  timer = new Timer(true);

  eventgetServletContext()log(服務器已經啟動了);

  timerschedule(new  MyTaker(eventgetServletContext()) );///每隔多長時間檢查掃描一次

  eventgetServletContext()log(已經加載了任務的列表);

  }

  }

  最後一步就是在webxml中配置監聽

  <! Java定時器 >

  <listener>

  <listenerclass>comsuntimeContexListener</listenerclass>

  </listener>


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26450.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.