gpt4 book ai didi

java - 何时使用 Java Bean 以及何时使用 Enterprise Java Bean

转载 作者:行者123 更新时间:2023-12-01 14:22:13 26 4
gpt4 key购买 nike

我想我了解 Java Bean (JB) 和 Enterprise Java Bean (EJB) 之间的区别。这个问题有很多答案。但我没有真正找到答案:

如果我使用 JSF 编写 Java EE 软件,我应该更喜欢使用 EJB 编写所有内容(我不需要像模型那样的 CDI),还是只编写我认为 EJB 具有优势的内容。例如,因为无状态 EJB 可能时的性能,或者因为我需要事务管理?

例如,我想编写一个在线计算器。 View 的模型是 CDI。但是根据模型的要求进行计算的类又如何呢?有什么理由为它们使用 EJB 吗?

最佳答案

无状态 session Bean 被集中起来并“分配”给来自客户端的单个调用。

这意味着它们自动是线程安全的,并且可以保留昂贵的创建资源,而无需一遍又一遍地创建这些资源或将 bean 置于共享范围内(在该范围内它将面临线程安全问题)。

如果您发现自己处于需要这种情况的情况,无状态 bean 可以提高性能。

它们还可以通过使用无状态 session bean 时发生的隐式请求限制来稳定系统的性能;如果池已耗尽,则不会接受对该 bean 的新请求。这有助于防止系统过载。接通的调用将体验到更好的服务,但有些调用会掉线。这通常比所有调用者都得到蹩脚的缓慢响应的情况要好。

还有一些服务目前只能在 EJB bean 中使用,例如 Java EE 计时器服务。有人请求让所有 bean 都可以使用此服务和其他服务,但在 Java EE 6 甚至 Java EE 7 中,它仅适用于 EJB。

关于java - 何时使用 Java Bean 以及何时使用 Enterprise Java Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17443077/

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