【发布时间】:2016-11-14 13:43:14
【问题描述】:
我有一个包含各种方法的无状态 EJB,我想在函数中使用计时器,这样如果方法花费的时间超过 30 秒,就会发生超时并通知调用者。
我查看了 EJB 方法的 @Schedule 注释,但我认为这不能满足我的目的。
【问题讨论】:
标签: java ejb-3.1 stateless-session-bean
我有一个包含各种方法的无状态 EJB,我想在函数中使用计时器,这样如果方法花费的时间超过 30 秒,就会发生超时并通知调用者。
我查看了 EJB 方法的 @Schedule 注释,但我认为这不能满足我的目的。
【问题讨论】:
标签: java ejb-3.1 stateless-session-bean
如果您不需要精度,最快的方法是调用标记为@Asynchronous 的方法,并在其签名中使用Future,该方法将在 30 秒后发送通知。
该方法必须位于另一个 EJB 上,@Asynchronous 才能工作。
然后从调用者那里,如果经过的时间少于30秒,你可以取消操作。
【讨论】: