【问题标题】:Using Timer in a stateless EJB method to time out long-running operation在无状态 EJB 方法中使用 Timer 使长时间运行的操作超时
【发布时间】:2016-11-14 13:43:14
【问题描述】:

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

我查看了 EJB 方法的 @Schedule 注释,但我认为这不能满足我的目的。

【问题讨论】:

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


    【解决方案1】:

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

    该方法必须位于另一个 EJB 上,@Asynchronous 才能工作。

    然后从调用者那里,如果经过的时间少于30秒,你可以取消操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-17
      • 2014-10-26
      • 2018-11-24
      • 2019-04-01
      相关资源
      最近更新 更多