EJB 生命周期(来自客户端的请求)

EJB lifecycle ( request from client)

大家好,我是 EJB 组件技术的新手,我必须学习这一点才能准备我的座谈会考试。我不确定我是否能理解生命周期的所有细节。

生命周期包括以下步骤:

-客户端对 EJB 容器的请求(但是如何完成这个请求?请求的位置是指远程“EJB 容器外部”还是本地“EJB 容器内部”很重要,或者不是吗?)

-根据请求在池中创建一个 bean 实例并 return 给客户端,在客户端使用后它再次在池中 returns(取决于 bean输入(?).

我认为这种情况适用于无状态会话 bean,但我不确定。因为在有状态会话 bean 场景中没有池。)

预先感谢您的所有帮助。

  1. "client" 在此上下文中仅表示 "application code that will lookup/inject an EJB and call EJBs";它与 "application code of the EJB itself" 相反(它没有明确定义的术语;我已经看到术语 "EJB" 超载了这个意思,或者 "service",等等)。本地 EJB 与远程 EJB 在此上下文中不相关,即使 "client" 对于远程也有明确定义的含义。

  2. 是的,会话bean 池仅指无状态会话bean。有状态和单例会话 bean 没有池。消息驱动的 bean 也可以被池化,但它们不会被客户端本身直接调用,即使可以有一个逻辑客户端;例如,发送 JMS 消息的那个。 (实体 bean 也可以合并,但现在它们并不真正相关。)