1
我有一个包含各种方法的无状态EJB,我想在一个函数中使用一个计时器,以便如果该方法花费的时间超过了30秒,超时将会发生,呼叫者将被通知。在无状态EJB方法中使用Timer来超时长时间运行
我已经查看了EJB方法的@Schedule
注释,但我认为这不符合我的目的。
我有一个包含各种方法的无状态EJB,我想在一个函数中使用一个计时器,以便如果该方法花费的时间超过了30秒,超时将会发生,呼叫者将被通知。在无状态EJB方法中使用Timer来超时长时间运行
我已经查看了EJB方法的@Schedule
注释,但我认为这不符合我的目的。
如果您不需要精确度,最快捷的方法是调用标记为@Asynchronous
的方法,其签名中会有一个Future
,该方法将在30秒后发送通知。
该方法必须位于另一个EJB上,以使@Asynchronous
正常工作。
然后从呼叫者,如果经过的时间短于30秒,您可以取消操作。