首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EJB2中的TimeDelay

EJB2中的TimeDelay
EN

Stack Overflow用户
提问于 2012-06-01 02:32:25
回答 2查看 77关注 0票数 1

其中一个EJB类正在调用外部API &如果在一段时间后出现故障,我会重试。由于管理线程不是一个好主意(不推荐使用Thread.sleep(1000)),有人能告诉我如何在EJB2中延迟/挂起进程一段时间吗?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-06-01 02:53:09

我认为,如果线程成功,那么多次睡眠1秒的问题就是不必要的等待时间。

您可以尝试使用join来代替睡眠。

代码语言:javascript
复制
join(5000)

将等待线程完成的时间长达5秒。如果它提前完成,您的执行将继续执行。如果它没有提前完成,你的执行将在5秒后恢复。

sleep方法使用polling技术,而join使用修改后的interrupt方案。

票数 0
EN

Stack Overflow用户

发布于 2012-06-01 03:16:38

作为一种解决方法,如果出现故障,则可以创建一个具有适当超时持续时间的计时器,在本例中,超时持续时间将是延迟持续时间。

在超时方法中,您可以再次调用EJB,EJB将进一步调用外部API。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10839222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档