【问题标题】:Why session beans are called so?为什么会话 bean 被这样称呼?
【发布时间】:2013-06-02 11:04:51
【问题描述】:

正如我在示例中看到的,每个 java 类都可以定义为 ejb 中的会话 bean,即使其中没​​有定义和使用 http 会话。那么,为什么将它们称为会话 bean?

【问题讨论】:

  • 嗯,它不叫HttpSessionBean。还有其他会议。
  • 确实,“会话”!=“HTTP 会话”。 “会话”只是可以发生多个密切相关的请求/对话/查询/等的上下文。在 EJB 的情况下,必须在单个 DB 事务的上下文中解释单个“会话”(而在 HTTP 的情况下,必须在单个 Web 浏览器实例的上下文中解释单个会话)。相关:stackoverflow.com/questions/8887140/…

标签: java ejb session-bean


【解决方案1】:

会话 bean 为客户端执行操作,例如计算或数据库访问。 .会话 bean 对象可以是无状态的,也可以跨方法和事务维护会话状态。

无状态会话 bean 是没有关联会话状态但可能具有实例状态的对象

有状态会话 bean 中,实例变量表示唯一客户端 bean 会话的状态。客户端与 bean 的交互称为会话状态。

无论会话 bean 是有状态的还是有状态的,它们都维护着某种会话,它可能会持续一次调用,也可能会持续多次 bean 调用。因此它们被称为会话 bean。

【讨论】:

    【解决方案2】:

    它们也可能不太准确地被称为“事务”bean。每个入口点方法都在与后端系统的隔离会话的上下文中执行,后端系统最典型但不一定是数据库。

    【讨论】:

      猜你喜欢
      • 2014-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      • 1970-01-01
      • 1970-01-01
      • 2016-08-09
      • 2018-10-15
      相关资源
      最近更新 更多