EJB定時器

EJB的定時器使用
EJB定時需要在一個EJB(可以是單例或無狀態EJB)內,寫一個public方法,返回值爲void,參數爲空。加上javax.ejb.Schedule註解就行了。
EJB定時器,我們常用的就是三個屬性,時分秒。
這三個值默認值都是0。年月日默認值是*。
*的意思是每次都執行,0的意思是值爲0時才執行。
如果說我們在註解中什麼都不加,那麼這個方法會在每天凌晨0點0分0秒時執行。
除了0和*還有其他寫法。
一 x/y形式
x表示開始時間,y表示週期
比如minute=”0/30”表示0分鐘開始,週期爲30分鐘。x可以用*號代替,在這裏等同於0。
二 逗號形式
比如minute=”1,2”表示在第一和第二分鐘執行
三 範圍
比如minute=”1-10”,表示前十分鐘每分鐘執行一次
四 任意
比如minute=”*”,表示每分鐘都執行
取消定時器:
在glassfish服務器中,定時器只要找到集合,調用集合中clear() 方法就可以了。
Collection c = timerService.getTimers();
if(c!=null){
for(Timer timer : c){
timer.cancel();
}
c.clear();
}
但是在JBOSS服務器中,需要調用cancel方法才能取消定時器。

發佈了93 篇原創文章 · 獲贊 24 · 訪問量 182萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章