在 Java EE 5 环境中,在继续处理我自己的数据之前,我无法确保其他部分写入的某些数据存在。
历史上(J2EE 时代),这是通过在等待(例如)之后将要处理的数据对象放入内部 JMS 队列来完成的。通过 Thread.sleep 500 毫秒。
但这感觉不是处理该问题的最佳方法,所以我有两个问题:
- 在 Java EE 上下文中使用 sleep 方法有什么问题吗?
- 延迟 Java EE 5 应用程序中某些处理的合理解决方案是什么?
编辑:
我应该提到,我的处理是在通过 MDB 处理 JMS 队列中的对象时进行的。
可能的情况是,我正在等待的数据永远不会出现,因此必须有某种超时,之后我可以对我的数据进行一些特殊处理。
最佳答案
您可以使用EJB TimerService 功能。应避免在托管环境中使用线程。
关于java - 如何在Java EE上下文中合理延迟处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19115617/