大家好,我是EJB组件技术的新手,我必须学习这一点才能准备我的学术讨论会考试。我不确定我能理解生命周期的所有细节。
生命周期包括以下步骤:
- 对EJB容器的客户端请求(但是如何完成此请求?请求的位置是指远程“EJB容器外部”或“EJB容器内部的本地”是否重要? )
- 根据请求,在池中创建一个bean实例并返回到客户端,从客户端使用后,它将再次在池中返回(取决于bean类型(?)。
我认为这种情况适用于无状态会话bean,但我不确定。因为在有状态会话bean场景中没有池。)
感谢所有帮助。
答案 0 :(得分:1)
“客户端”在此上下文中仅表示“将查找/注入EJB并调用EJB的应用程序代码”;它与“EJB本身的应用程序代码”相反(它没有明确定义的术语;我已经看到术语“EJB”因这个含义或“服务”等而过载)。本地EJB与远程EJB在此上下文中不相关,即使“client”也具有明确的远程定义。
是的,会话bean的池化仅指无状态会话bean。有状态和单例会话bean没有池。消息驱动的bean也可以合并,但它们本身不会直接由客户端调用,即使可以有逻辑客户端;例如,发送JMS消息的那个。 (实体bean也可以合并,但现在它们并不真正相关。)