在无状态EJB方法中使用Timer来超时长时间运行

时间:2016-11-14 13:43:15

标签: java ejb-3.1 stateless-session-bean

我有一个包含各种方法的无状态EJB,我想在函数中使用一个计时器,这样如果方法花费的时间超过30秒,就会发生超时并通知调用者。

我已经查看了EJB方法的@Schedule注释,但我认为这不符合我的目的。

1 个答案:

答案 0 :(得分:0)

如果您不需要精确度,最快捷的方法是调用标记为@Asynchronous的方法,其签名中包含Future,将在30秒后发送通知。

该方法必须在另一个EJB上,@Asynchronous才能正常工作。

然后从来电者那里,如果经过的时间短于30秒,则可以取消操作。