我有一個關於安全和以下假設定時服務的正確性幾個問題:EJB自動定時器,鎖定,超時和長時間運行的方法
@Singleton
public class MyTimerService {
@Schedule(second = "*", minute = "*", hour = "*", persistent = false)
public void checkTakingOneMinute() {
// code below takes a minute or so
}
}
所有我想在這裏做的,是儘快檢查一番可能的(在這種情況下每秒)。據我瞭解,方法checkTakingOneMinute()
將不會開始新的檢查,直到它完成前面的調用。這就是我想要的,但是我擔心容器的內部:方法執行會在忙時被忽略,或者它會被鎖定並放入一個隊列中,並隨後出現鎖定超時?
看起來像我的問題是幾乎相同http://stackoverflow.com/questions/2691835/timer-service-in-ejb-3-1-schedule-calling-timeout-problem,代碼重寫,你的解決方案效果很好,謝謝。 – Osw 2012-03-17 11:02:52
你可能是對的。我傾向於編寫個性化/自定義的答案,而不是尋找雙關(甚至是我回答並忘記的雙關語!)。 – 2012-03-18 23:42:48