`

EJB学习笔记

    博客分类:
  • EJB
阅读更多

1. @Remote接口的表示可以被被其他EJB远程call的, 不用通过webservice;

2. http://blog.csdn.net/liusong0605/article/details/8966115  how to create initialcontext

###  http://www.bubuko.com/infodetail-635283.html

####  http://www.bubuko.com/infodetail-635283.html

 

###和spring的整合 : http://blog.csdn.net/leimengyuanlian/article/details/41622041

3. ###

 

  刚开始对两种sessionbean存在误解,认为有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用,而认为无状态是每次调用实例化一次,不保留用户信息。仔细分析并用实践检验后,会发现,事实恰好相反:有状态和无状态会话bean的本质区别是它们的生命期。

     

       首先解释一个下面要用到的概念--用户:sessionbean 的用户实际上就是直接调用ejb的类的实例,甚至是这个实例的某个方法。同一个类的不同实例对于session bean来说是不同的用户。

 

 

   有状态会话bean:每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束。即每个用户最初都会得到一个初始的bean。
       无状态会话bean :bean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,bean的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。由于没有特定的用户,那么也就不能保持某一用户的状态,所以叫无状态bean。但无状态会话bean并非没有状态,如果它有自己的属性(变量),那么这些变量就会受到所有调用它的用户的影响,这是在实际应用中必须注意的。

 

====>注意:用remote 接口方式和Local接口方式 get回来的ejb不是同一个ejb 实例,

所以虽然同是一个stateless session bean, 用remote 接口方式get回ejb并影响该ejb的属性 , 但如果再用local 接口方式get 回ejb,会发现改ejb属性并没有受 remote那个操作影响,如果继续 用local方式get回ejb,会发现,之前那个local 调用方式已经影响了该ejb的属性值。。因为是同一个ejb实例 .(2和4那个例子)

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics