這種方式是純粹的java代碼,需要繼承timertask接口并重寫run方法,建立這個類的時候就會調用run方法。
基本的使用邏輯是:
把自己需要處理的業務邏輯放在自己寫的這個繼承了timertask的類中,然後new一個timer并調用schedule方法,在schedule中設定一個新的自己類的對象為參數,同時配置其他時間資訊,示例如下:
上邊的代碼中sche類即自己所寫的定時任務類,我是以内部類的方式聲明。
之後在外部類scheduletest2的starttask方法中調用定時任務,每五秒執行一次。
因為僅僅是這樣的話,程式啟動時并不能觸發我這個類,不能自動調用starttask方法,是以便讓外部類實作了servletcontextlistener 監聽器的接口,同時重寫contextinitialized這個方法,以便于在web.xml中配置,讓程式啟動時便調用運作這個定時任務。
是以對應的web.xml代碼便更改成下邊的樣子:
要說明以下的是,這裡的spring2.xml在本示例中沒有實質性的作用,隻因為這個web程式需要一個初始加載檔案,即原來的
applicationcontext.xml,是以這裡就配置了一個除開開頭和結尾什麼都沒有的檔案,如下: