【问题标题】:EJB: what does maintaining state across method calls mean?EJB:跨方法调用维护状态是什么意思?
【发布时间】:2015-02-21 05:28:42
【问题描述】:

“有状态:这些 bean 可以跨方法调用保持客户端状态。这可以通过使用在类定义中声明的实例变量来实现。然后客户端将为这些变量设置值并在其他方法调用中使用这些值。 "

跨方法调用保持状态是什么意思?

对不起,我的问题很幼稚。

【问题讨论】:

    标签: java ejb-3.0 stateful


    【解决方案1】:

    您可以将其视为 Web 应用程序上的 HttpSession。您在 HttpSession 上保存的内容可用于对 Web 服务器的不同请求。同样,您在会话 EJB 中存储为类变量的内容可在同一会话 EJB 上完成的不同方法调用中使用。

    参考:

    Lookup returns new instance of Stateful session bean http://www.javaworld.com/article/2071724/java-web-development/ejb-fundamentals-and-session-beans.html

    【讨论】:

    • 如果不是太麻烦,你能告诉我如何查找有状态会话 bean。
    • @lee 我添加了一些参考资料。对于实体 ejb,查找很重要。因为它是通过 ID 发生的。对于会话 EJB 的客户端在交互过程中必须使用相同的引用。
    【解决方案2】:

    在并发方面,Statefullness 很糟糕。例如,您有一个 Statefull Bean,即存储电子邮件的 UserRegistrationBean,然后如果两个用户尝试在竞争条件下同时注册,则一个用户会覆盖另一个用户的电子邮件。

    Statefullness 需要同步访问状态,这是昂贵的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      • 2021-07-03
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多