实体 Bean 的创建与识别
1. ejbPostCreate 方法
ejbPostCreate 方法的命名规则是在对应的 create 方法名前加上前缀“ejbPost”,并将“create”中的小写“c”替换为大写“C”。该方法必须声明为 public,且不能声明为 static 或 final,返回类型必须为 void,这与 ejbCreate 方法返回主键类不同。ejbPostCreate 方法可以声明 CreateException 和其他应用异常(如果在 home 接口中声明了的话),但即使对应远程接口,也不能抛出 java.rmi.RemoteException。
需要 ejbPostCreate 方法的原因是,ejbCreate 方法对于完成 bean 初始化的某些操作来说太早了。例如,在 ejbPostCreate 方法中可以获取 EJBObject 的引用,但在 ejbCreate 方法中不行,因为 EJBObject 在 ejbCreate 方法执行期间还不存在。
2. 实体 Bean 创建期间允许的操作
在 bean 构造执行期间,会为 bean 实例分配一个上下文(EntityContext 的实例)。bean 提供者可以在自己编写的方法(如 ejbCreate 和 ejbPostCreate 方法)中使用这个上下文来调用 EJBContext 上的方法。对 EntityContext 的方法调用以及访问其 JNDI 环境的方法调用也被称为操作。
以下是 ejbCreate 和 ejbPostCreate 方法中允许和禁止的操作:
| 操作 | ejbCreate | ejbPostCreate |
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



