gpt4 book ai didi

java - 为什么不鼓励在 Java EE 容器中生成线程?

转载 作者:行者123 更新时间:2023-12-01 05:40:01 25 4
gpt4 key购买 nike

关于 Java EE 开发,我学到的第一件事就是我不应该在 Java EE 容器内生成自己的线程。但转念一想,又不知道原因。

您能清楚地解释为什么不鼓励这样做吗?

我确信大多数企业应用程序都需要某种异步作业,例如邮件守护程序、空闲 session 、清理作业等。

那么,如果确实不应该生成线程,那么在需要时执行此操作的正确方法是什么?

最佳答案

不鼓励这样做,因为环境中的所有资源都应由服务器管理,并可能由服务器监视。此外,使用线程的大部分上下文通常都附加到执行线程本身。如果您只是启动自己的线程(我相信某些服务器甚至不允许),它就无法访问其他资源。这意味着您无法获取 InitialContext 并执行 JNDI 查找来访问其他系统资源,例如 JMS 连接工厂和数据源。

有多种方法可以“正确”执行此操作,但这取决于所使用的平台。

The commonj WorkManager is common for WebSphere and WebLogic as well as others

More info here

And here

也有些重复 this one 从今天早上开始

更新:请注意,这个问题和答案与 2009 年 Java EE 的状态有关,从那时起事情已经有所改善!

关于java - 为什么不鼓励在 Java EE 容器中生成线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7401272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com