我有一个关于安全和以下假设定时服务的正确性几个问题: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