疑难问题:容器对实体BEAN“挂起”时,切断了和它关联的EJB对象和主健,但有没有保存它们呢?

tianboguang 2003-09-29 10:19:47
为了节省开销和资源,EJB容器把一个实体BEAN实例多次分配不同变量,让它代表不同的数据记录,当EJB容器“挂起”某实体BEAN实例时,它切断这个实例关联的EJB对象,主健,SOCKET连接等,然后把它放进池里,准备分配新的变量给它让它代表另一条数据记录。我想请问这个时候它有没有保存这个EJB对象,主健,SOCKET连接?
如果保存了,那当EJB容器“激活”这实体BEAN实例时,它会再次找到它以前代表的那个EJB对象;
如果没有保存,那对这个实体BEAN来说,每次都是分配新的EJB对象,它不记的是不是它曾经代表过的。
我不知道上面的问题叙述清楚了没有,如有疑问,请说明,我再解释。
...全文
30 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
huayu 2003-09-30
  • 打赏
  • 举报
回复
ejbActivate()方法,一个Bean实例在同一时刻只能服务一个客户端,Bean是单线程的,当先前的客户再次调用EJB对象时,EJB容器从Bean池中取出一个空闲Bean实例来响应客户端的请求,在这个方法中你需要建立Bean需要的资源连接,比如Socket、文件资源,数据库连接等。

我也是刚开始学习EJB,有什么不对的,请高手指点。
cootme2002 2003-09-30
  • 打赏
  • 举报
回复
这个问题是这样的: 在EJB Container管理一个CMP BEAN的池化时要对该实体BEAN的相关信息
与调用该BEAN的客户的事务上下文进行保存,以便下次Client在调用同类的entitybean时,
再把Context的内容告诉EJBContainer,这样就可以不一定要是client上次使用的bean instance了,也可以继续client的工作。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧