1

尊敬的 EJB 专家,

经过大量的研发后,我正在写这封电子邮件。最近我参加了一次面试,被问到关于方法调用的 EJB 事件周期。我告诉他们互联网上提到的一切。但是面试官是非常危险的专家。他问我哪个组件调用哪个方法。例如。谁创建了 EJB 主对象和 EJB 对象……我用我所拥有的信息回答了他……但后来他让我很困惑,特别是问我是谁在 EJB 3.0 中调用了上述方法。基本上,他希望我讲述从客户端的 JNDI 查找到客户端获得 EJB 方法的响应的完整周期。他还想知道方法或事件发生的环境以及谁调用了方法或事件。

如果可以为 2.0 和 3.0 版本的所有 EJB 提供以下格式的输入,我将非常感谢您

环境 ## 方法名称或事件 ## 方法或事件调用程序

4

1 回答 1

1

正确答案是 EJB 容器本身负责创建 EJB 主实现、实例化 EJB 对象实例以及调用 EJB 对象实例上的所有生命周期方法。

对于 EJB 2.x,客户端从 JNDI 中查找对 home 的引用,并且容器提供实现 home 接口的对象。容器主对象通过返回另一个实现组件接口的容器代理对象来响应 create 方法,这允许它在委托实际 bean 实例之前实现所有 EJB 服务质量(事务、安全性、java:comp 等)它创造的。

对于 EJB 3.x,情况类似,只是实现业务接口的容器代理对象要么直接注入,要么直接从 JNDI 中查找,因为不再需要 home 接口。

于 2013-11-14T01:43:23.357 回答