首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >后台线程

后台线程
EN

Stack Overflow用户
提问于 2011-11-22 06:04:37
回答 1查看 260关注 0票数 0

我正在使用Websphere Application Server创建一个典型的web应用程序,其中UI是JSP,有一个控制器、一个会话EJB和一个数据库。我实现了一个通知系统,它作为一个单独的线程在后台运行。为此,我使用了WorkManager。

我的问题是,我希望在不为不同用户启动的每个并行会话创建会话或WorkManager实例的情况下启动EJB。它不应该是基于会话的。现在,EJB线程在实例化WorkManager时启动,因此如果有3个连接,则有3个WorkManager实例。

单例会话bean是个好主意吗?或者有没有什么地方我可以放一个'main()‘方法来调用它,或者类似的东西?

任何想法都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-23 06:11:50

我认为你有几个选择:

EJB使用servlet上下文侦听器(将在WAR模块启动时调用)提交工作,启动bean (特定于的

  • )在应用程序被started/stopped.
  • Use时调用一次,这是一种引用计数方法,您可以在其中跟踪实例的数量。您可以在创建第一个实例时提交工作(并在销毁最后一个实例时停止工作)。请注意,这将延迟工作的开始,直到发出对EJB的第一个请求。
    • 在WebSphere 8(支持JavaEE6)中,您可能会使用单个会话bean。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8219149

复制
相关文章

相似问题

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