首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaEE容器中的异步任务

JavaEE容器中的异步任务
EN

Stack Overflow用户
提问于 2012-05-23 10:15:47
回答 3查看 1.1K关注 0票数 2

我刚听说在JavaEE容器中生成自己的线程是一种糟糕的做法。自从几个月前我开始学习JavaEE 6开发以来,我已经这样做了一段时间。我一直在做的事情是:

1.)从网络应用主入口点(实现ServletContextListener的对象),

2.)我在contextInitialized方法中创建了一对线程来为web应用程序后台运行一些异步后台任务。

3.)我在contextDestroyed方法中清理资源。

有没有更好的方法呢?如何在不产生线程的情况下创建异步后台任务?不使用线程的原因是什么?

我使用的是EJB3.0和JavaEE6

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-23 11:21:22

手动派生线程确实是一种糟糕的做法,因为您希望Java容器在应用程序代码外部为您管理线程池。Oracle6有一个称为@Asynchronous的注释专门用于此目的,而JavaEE有一个official tutorial

票数 4
EN

Stack Overflow用户

发布于 2012-06-07 06:10:56

在EJB3.1之前,解决方法是创建JMS和MDB来在EJB容器中执行异步作业,这是相对繁重的,并且依赖于消息代理。@Asynchronous提供了一种更简单方法来处理异步作业。

票数 2
EN

Stack Overflow用户

发布于 2014-01-02 18:05:08

在JavaEE7中,我们来看看新的Concurrency Utils API规范。

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

https://stackoverflow.com/questions/10712627

复制
相关文章

相似问题

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