了解 Java EE 容器中线程生成的阻碍
开始 Java EE 开发时,一个谨慎的建议是避免在容器内生成线程。然而,这个建议背后的原因可能不会立即显而易见。
不鼓励的理由
不鼓励线程生成的主要原因在于资源的托管性质Java EE 容器。服务器承担管理和监视环境中所有资源的角色。当单独生成线程时,它无法访问这些集中管理的资源或与之交互。当尝试获取用于 JNDI 查找的 InitialContext 或访问 JMS 连接工厂和数据源等资源时,这变得尤其成问题。
替代方法
尽管令人沮丧,但异步处理仍然是企业应用程序的一个组成部分。为了解决这个问题,Java EE 平台提供了专门的机制来管理异步任务。
其中一种机制是 Commonj WorkManager,通常受到 WebSphere 和 WebLogic 等平台的支持。这允许在主执行线程之外托管执行任务。
此外,每个 Java EE 平台都可以提供自己的异步处理专有机制。请务必查阅特定平台文档以获取适当的解决方案。
结论
虽然由于资源管理限制,线程生成曾经被阻止,但 Java EE 平台的进步已经提供了处理异步任务的替代机制。了解阻碍背后的理由并采用正确的方法可确保高效且可管理的 Java EE 应用程序。
以上是为什么我应该避免在 Java EE 容器中生成线程?的详细内容。更多信息请关注PHP中文网其他相关文章!