尊敬的EJB专家,
最近,我参加了一次面试,在面试中,我被问到关于方法调用的EJB事件周期。我确切地告诉了他们在互联网上提到的一切。但是面试官是非常危险的专家。他问我哪个组件调用哪个方法。例如:谁创建了EJB home对象和EJB对象。我用我所掌握的信息回答了他...但是后来他问我是谁在EJB3.0中调用了上面的方法,这让我很困惑。基本上,他想让我讲述从客户端的JNDI查找到客户端获得EJB方法的响应的完整周期。他还想知道该方法或事件发生的环境,以及谁调用了该方法或事件。
如果能为2.0和3.0版本的所有EJB提供以下格式的输入,我将非常感谢
环境##方法-名称或事件##方法或事件调用器
发布于 2013-11-14 09:43:23
正确的答案是,EJB容器本身负责创建EJB主实现、实例化EJB对象实例以及调用EJB对象实例上的所有生命周期方法。
对于EJB2.x,客户端从JNDI查找对home的引用,容器提供实现home接口的对象。容器本地对象通过返回实现组件接口的另一个容器代理对象来响应create方法,这允许它实现所有EJB服务质量(事务、安全性、java:comp等)。在委托它创建的实际bean实例之前。
对于EJB3.x,情况与此类似,只是实现业务接口的容器代理对象要么直接注入,要么直接从JNDI查找,因为不再需要home接口。
https://stackoverflow.com/questions/19963791
复制相似问题