关于有状态和无状态会话bean的解释

原创 2003年09月17日 09:00:00

现实中,很多朋友对两种session bean存在误解,认为有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用,而认为无状态是每次调用实例化一次,不保留用户信息。仔细分析并用实践检验后,你会发现,事实恰好相反:

有状态和无状态会话bean的本质区别是它们的生命期。

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

有状态会话bean :每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束。即每个用户最初都会得到一个初始的bean。

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

 

 

有状态会话Bean和无状态会话Bean的区别

    Session   Bean   主要的目的是让程序开发者将逻辑层抽离;    Entity   Bean   主要是资料组件,  Entity   Bean   主要的目的,在于提供资料,也...
  • lingxiao301415
  • lingxiao301415
  • 2007年09月29日 15:02
  • 8671

EJB中有状态会话Bean 和 无状态会话Bean 的区别

session  Bean:分有状态会话Bean和无状态会话Bean两种,主要目的是提供程序逻辑层;Entity  Bean:资料组件,主要目的是提供程序资料;下面主要对Session  Bean讨论...
  • bo_hai
  • bo_hai
  • 2010年12月31日 11:08
  • 2421

EJB有状态的会话Bean和无状态的会话Bean的区别

在EJB里面,会话Bean分为两种,一种是有状态的会话Bean,另一种是无状态的会话Bean,本节主要讲解一下两者之间的区别。        对于有状态的会话Bean,这种情况属于,服务端与你单独开...
  • zc474235918
  • zc474235918
  • 2016年02月18日 16:59
  • 1592

有状态会话bean与无状态会话Bean的区别

有状态会话Bean和无状态会话Bean的区别 状态通常理解为对象的属性,那么无状态就是没有属性,有状态就是有属性,这种理解是不正确的。 这里的无状态确实与属于相关,但有状态会话Bean和无状态会话...
  • u011606984
  • u011606984
  • 2013年08月06日 11:49
  • 932

什么时候使用有状态会话bean

首先你应该清楚Session bean在服务器上是怎么样被创建以及管理的。拿无状态会话bean来说服务器在实例池中维护了它的很多实例。每次客户端请求的时候任意一个无状态的会话bean都可能会被选择出来...
  • beijiguangyong
  • beijiguangyong
  • 2014年11月27日 17:37
  • 2141

Ejb in action(五)——会话Bean的生命周期

会话Bean与消息驱动Bean、实体Bean的最重要的区别在于生命周期的差异性。会话Bean实例存活期较短,它和线程类似,包括对象的创建、初始化、运行、钝化、激活、销毁。 生命周期的概念,了解生物学的...
  • liu765023051
  • liu765023051
  • 2014年05月14日 13:08
  • 2761

EJB开发第一个无状态会话bean、开发EJB客户端

开发第一个无状态会话bean EJB中的三中bean: 会话Bean(Session Bean) 负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过JDBC直接操作数据库,但大多数情况下...
  • Jerome_s
  • Jerome_s
  • 2014年07月05日 09:31
  • 1307

Spring Bean Scope 有状态的Bean 无状态的Bean

在Spring的Bean配置中,存在这样两种情况: [xhtml] view plaincopy bean id="testManager" class="com.sw.Tes...
  • cs408
  • cs408
  • 2015年08月20日 16:08
  • 1990

无状态会话bean(1)---定义

无状态会话bean用于完成在单个方法的生命周期内的操作。无状态bean可以实现许多业务操作,但是每个方法都不能假定任何其他的方法会在它之前调用。这听起来像是无状态的bean的一个局限。但是这是迄今为止...
  • beijiguangyong
  • beijiguangyong
  • 2014年10月31日 23:24
  • 2469

EJB学习笔记 会话bean的生命周期

会话bean的生命周期 EJB
  • z1185196212
  • z1185196212
  • 2016年10月20日 22:39
  • 409
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于有状态和无状态会话bean的解释
举报原因:
原因补充:

(最多只允许输入30个字)