关于 Entity Bean 生命周期相关的讨论,欢迎发言
wspsc 2003-09-15 02:14:18 我有几个地方不太清楚:
1、ejb 容器首先会生成一定数量的 ejb 实例,再给这些实例 setEntityContext(),然后放入 ejb pool 中(等待将他们分配给具体的 bean),那么这么说来在 pool 中的每个 ejb 实例都具有相同的 context(在没被分配到特定的数据库记录之前),那么请问在什么时候,这个 context 和具体的数据库记录对应的 ejb 实例关联的,因为对于一个特定的和数据库对应的ejb实例可以通过 context.getPrimaryKey() 得到主键,那么这个方法又是怎么得到对应的主键的呢?而且该方法会在 ejbLoad()和ejbRemove()方法中有用。
2、对于BMP中,通常是在什么时候获取数据库连接 Connection 对象更好?
在 setEntityContext()方法中?还是在每个需要调用数据库操作的方法中?
如果在 setEntityContext()方法中,那么通常也是在 unsetEntityContext()方法中将 Connection 关闭。那么请问unsetEntityContext()什么时候被调用。那也就是说在 unsetEntityContext()方法调用之前,Connection 一直打开,这样数据库的Connection够用吗?
如果在每个方法中都获得Connection,并在方法结束时close,这样会不会效率太差啊。