gpt4 book ai didi

ejb - EJB 中的 @Schedule 方法在异常后不执行

转载 作者:行者123 更新时间:2023-12-04 00:36:31 31 4
gpt4 key购买 nike

我在 Java EE6 Singleton Session Bean 中有一个方法,它每 30 秒由 @Schedule(...) 计时器调用。这按预期工作,直到在方法中抛出并捕获异常(异常在 try-catch 块中抛出并捕获)。异常发生后,计时器停止调用该方法。

无论是否发生异常,我如何强制计时器再次调用该方法?

此致,

基督教

最佳答案

相关讨论可在 http://www.java.net/node/706287 中找到。 .

事实证明,如果在@Schedule 方法中抛出异常,则该方法将在 5 秒后再次调用,如果失败,计时器就会死亡。再也没有电话了。

如果你例如,那就太糟糕了定期想做一些监督。

所以我的解决方案是将@Schedule 方法中的所有代码包含在一个 try 块中并捕获所有异常,记录它们,然后返回,就好像一切正​​常一样。

如果有更优雅的方式来做到这一点,我很乐意听到。

编辑 :不,只是添加一个 try {...} catch (Exception e) {...} 不是一个防水的解决方案。有时我仍然会死掉@Schedule。当出现数据库事务问题时,JEE 容器可能会做一些模糊的事情? Nayan:你能解释一下你在这件事上的说法吗?

关于ejb - EJB 中的 @Schedule 方法在异常后不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5618872/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com