【问题标题】:Can we use both Stateless and Stateful session beans in a J2EE application?我们能否在 J2EE 应用程序中同时使用无状态会话 bean 和有状态会话 bean?
【发布时间】:2011-03-07 04:41:13
【问题描述】:

如果需求需要,对不同模块同时使用无状态和有状态会话 bean 是否是一种好方法?

【问题讨论】:

    标签: java jakarta-ee ejb-3.0


    【解决方案1】:

    您的问题很模糊,但您似乎基本上是在寻求建议,使用无状态或有状态会话 bean 是否好。

    • 无状态会话 bean (SLSB) 绝对易于使用。几乎不需要配置,它们是公开服务的理想选择。

    • 有状态会话 bean (SFSB) 表面上类似于 SLSB。但是它们是有状态的这一事实使它们的编程模型不同,并且更难使用。例如,您将需要配置与您的负载相匹配的池大小,设置超时参数,并且不要忘记正确处理它们。人们通常会反对它,除非您确切地知道为什么要使用它们而不是另一种更轻松的方法(例如HttpSession 或数据库),并且只有当您对 EJB 模型有很好的掌握时。有关Stateful EJBs in web app 的更多信息。

    但是 SLSB 和 SFSB 当然可以在一个应用程序中一起使用。该技术自十年前就已经存在,因此周围有大量可用信息。但是,我们鼓励您尝试使您的设计尽可能无状态。

    【讨论】:

      【解决方案2】:

      当然。您应该尽可能使用无状态(它们更快并且消耗更少的内存,因为它们不需要序列化和反序列化)并且仅在需要时才使用有状态。所以拥有(例如)8 个无状态和 2 个有状态 bean 是完全可以的

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-02
        • 1970-01-01
        • 2017-01-10
        • 1970-01-01
        • 1970-01-01
        • 2011-03-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多