当前位置:  技术问答>java相关

很基本的问题,关于实体Bean(也有我的看法)

    来源: 互联网  发布时间:2017-03-10

    本文导语:  关于实体Bean状态的问题。我的理解如下 比方说一个BMP,客户端调用时,lookup并且创建远程对象后, 在服务器端实例化一个Bean,处在一个pooled的状态(也可能不需要 客户端,只是容器觉得需要一个bean,那么这个过程...

关于实体Bean状态的问题。我的理解如下
比方说一个BMP,客户端调用时,lookup并且创建远程对象后,
在服务器端实例化一个Bean,处在一个pooled的状态(也可能不需要
客户端,只是容器觉得需要一个bean,那么这个过程就发生了。),
没有主键作为其标识,其状态与底层数据库同步。当调用一个finder/create
方法时候,则根据方法返回的主键创建/查找到相应的EJBObject,
当客户端调用某种方法比如getXXX的时候,容器回调ejbLoad方法,
真正的实例化bean,将主键所代表的纪录插入bean中。成为ready的状态。
当调用remove的时候,则该bean映射的纪录被删除,实例资源被释放,bean
重新进入pooled的状态。
当调用passviate方法时,容器将bean中的数据写入数据库,释放bean的资源
同样将bean踢入pooled状态。bean和EJBObject失去绑顶关系。

以上的状态,我不知道自己理解的是否正确。请高手指点。

另外我看到一些例子,并没有调用passivate方法,却是将远程对象置空,例如
一个远程接口是TestRemote,实例化为bean,在程序调用完之后bean = null;
这里有什么作用?为什么不调用passivate方法?
是否passivate只是为了处理客户端超时而用的回调方法?

另外,一个bean被remove之后,既然是进入pooled状态,也就是说,引用资源
并没有销毁,那么为什么不能重新调用;如果要销毁它的引用,该怎样?是否
是一个bean = null就可以了?

|
你的理解有一些问题
首先一点,凡是回调方法客户是无法访问的,因为你根本没有bean类的引用,有的只是Home,Object接口的引用。只能调用接口暴露的方法。

另外,调用顺序问题
激活时:ejbActivate(连接资源)->ejbLoad(读取bean主键,并查找bean)
挂起时:ejbStore(存储bean主键,消除引用)->ejbPassivate(释放资源)

bean的remove操作将删除你的接口引用,bean的确是pooled状态,但使用它必须重新获得对Object接口的引用。


|
我觉得你上面的看法基本上正确
不过好像客户端一般不能直接调用passivate,调用bean=null只是为了垃圾回收,而且passivate和释放引用是由容器决定的,前者当bean没有方法被调用时随时可能发生,后者是当容器觉得pool中实例太多或某些异常时释放一些。
remove时好像除了将记录从数据库中删除外,还解除了主键同远程接口对象的绑定,对象的身份没有了,因此不能调用。

    
 
 

您可能感兴趣的文章:

  • 困惑很久的问题,一个实体BEAN只能对应一个TABLE吗?如果有几百个TABLE,难道要写几百个实体BEAN?
  • 高手指点ejb中的实体bean问题!
  • 关于实体BEAN的问题.
  • 菜鸟问题:实体ejb只能先插如一条记录,然后才能用他的查询吗?
  • 请问一个有关cmp实体bean的问题???
  • 实体Bean问题请教!
  • 一个实体bean的部署后问题
  • 求教一个关于实体bean中的findByXXX()方法的问题
  • 请教有经验的开发者一个有关实体bean的问题!
  • 一问题连发三贴,想多听听看法!有人建议此区牛人特多,特来一问!
  • 问一个SB问题,大家尽请说说你的看法
  • sharetop,新斑竹,回答我一个问题!很简单的!欢迎大家进来提问,让我们的新帮主解答,如果能回答10个,我就全力支持!发表对新斑竹的看法,发表者有分!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • entity Bean 和session bean 的问题(有分)
  • (tomcat不认dom编译器 急死了)jsp问题:在bean加main方法,bean好用,在jsp中引用bean中出错
  • 再问session bean 调用entity Bean的问题
  • bean编译问题:bean A连接数据库,bean B进行一些操作,A编译正常,B编译时报找不到A中的类。?????
  • 请教一个简单问题。一个BEAN是怎么运行的啊?我运行书里的一个BEAN,告诉我没有main(),可是程序里是有main的啊??谢谢
  • 关于bean的问题
  • session bean调用entity bean的一个奇怪的问题!
  • 请教在JB中建立EJB时2个问题,CMP2.0 ENTITY Bean 与BMP Entity Bean有什么区别么?有个local home interface class是什么东西??谢谢
  • bean初级问题
  • Bean的构造函数问题
  • 简单问题简单问题简单问题简单问题 iis7站长之家
  • 为什么我的BEAN 在WIN2000中调用没有问题,但在LINUX中调用有问题
  • 导入bean出问题
  • session bean 的问题(stateful),谢谢!100分!
  • 一个有关在jsp中使用bean的问题?
  • 问题很菜,请大家多多关照,有关bean,
  • Servlet和Bean的非常简单问题。
  • 有关session bean 的问题,请教
  • 从bean中调用“中文字符串数组”却出现问题。
  • 关于srtuts.jsp.bean中用的问题
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3