Java-顺序异步执行

迈克尔·巴尔

我有一个执行数据库操作的异步任务。这可能需要几分钟。

public void doSomeStuff() {
   // 10 minutes of database magic
}

由于数据库方面可能存在并发问题,因此必须只能同时一次异步执行此方法(例如单例)。此外,如果该方法已经在运行,则不应丢弃下一个调用,而应记住并在前一个调用完成时执行下一个调用就像一个队列。

我研究了@Asynchronous@ConcurrencyManagement(...)批注,但是它们似乎没有提供所需的控件。

如何使用JBoss EAP 6(+ JSF)在JavaEE 7中实现此目标?

马可·斯特拉梅齐(Marco Stramezzi)

您可以将@StatelessBean与@Asynchronous方法配合使用

然后,可以使用注释设置bean使用的线程池@Pool(<pool name>)如果将池大小限制为1,则可以满足需要。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章