1、有状态(Stateful)

可以在不同的方法调用间保持针对各个客户端的状态

与客户端的联系必须被维持,这样做开销要大一些

有状态也可以这样理解,它存在存储能力,也就是说至少有一个属性来标识它目前的状态,例如:

     

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

2、无状态(Stateless)

在不同方法调用间不保留任何状态

事务处理必须在一个方法中结束,这样占用资源较少,还可以被共享

无状态从字面的意思来理解就是没有能够标识它目前状态属性的bean,例如:

 
      

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

3、总结

无状态的会话bean不保持任何与客户端的会话状态,发给 bean的每一次请求需同时提供数据来进行请求处理。有状态的会话bean,与之相反,可以保持状态,并且该状态可以在与客户的多次会话中存在。
 
   
 有状态的bean带来了支持会话状态的好处但同时付出了性能的代价。无状态bean具有更好的性能,但却又不具备与客户端的亲合力。struts2中将
Action和ActionForm合二为一,就有了状态,因为每次请求都创建一个新的实例,所以没有线程安全问题,而struts1就不能这么做
了,struts1的Action采用的是单例模式,仅有Action的一个实例来处理所有的请求,所以使用struts1的时候要特别小心,要保证
Action的资源是线程安全最好采用无状态。

摘自:http://blog.163.com/lfsyhuangaigang@126/blog/static/77436670201322092944359/

有状态无状态回话bean的更多相关文章

  1. 有状态 无状态 stateful stateless monolithic architecture microservice architecture 单体架构

    为什么游戏公司的server不愿意微服务化? - 知乎 https://www.zhihu.com/question/359630395 我大概说了,方便测试,方便维护,方便升级,服务之间松耦合,可多 ...

  2. http协议——无连接、无状态

    无连接 无连接的含义是限制每次连接只处理一个请求.服务器处理完客户的请求,并收到客户的应答后,即断开连接.采用这种方式可以节省传输时间. 早期这么做的原因是 HTTP 协议产生于互联网,因此服务器需要 ...

  3. 如何理解HTTP协议的 “无连接,无状态” 特点?

    HTTP 是一个属于应用层的面向对象的协议,HTTP 协议一共有五大特点:1.支持客户/服务器模式:2.简单快速:3.灵活:4.无连接:5.无状态. 无连接 无连接的含义是限制每次连接只处理一个请求. ...

  4. 如何理解HTTP协议的“无连接,无状态”特点

    是一个属于应用层的面向对象的协议,HTTP 协议一共有五大特点:1.支持客户/服务器模式;2.简单快速;3.灵活;4.无连接;5.无状态. 无连接 无连接的含义是限制每次连接只处理一个请求.服务器处理 ...

  5. 有状态 Vs 无状态

    NET Core 分布式框架 公司物联网项目集成Orleans以支持高并发的分布式业务,对于Orleans也是第一次接触,本文就分享下个人对Orleans的理解. 这里先抛出自己的观点:Orleans ...

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

    无状态会话bean用于完毕在单个方法的生命周期内的操作.无状态bean能够实现很多业务操作,可是每一个方法都不能假定不论什么其它的方法会在它之前调用.后半句的意思是如今的你可能不是刚才的你.明天的你可 ...

  7. 有状态Bean和无状态Bean的定义

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

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

    http://blog.csdn.net/anyoneking/article/details/5182164 在Spring的Bean配置中,存在这样两种情况: <bean id=" ...

  9. spring的有状态BEAN和无状态BEAN

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

随机推荐

  1. Tips:取消UICollectionView的隐式动画

    http://www.cocoachina.com/ios/20151204/14211.html UICollectionView在reloadItems的时候,默认会附加一个隐式的fade动画,有 ...

  2. Kubernetes Ingress日志分析入门

    本文主要介绍如何基于日志服务构建Kubernetes Ingress日志分析平台,并提供一些简单的动手实验方便大家快速了解日志服务相关功能. 部署Ingress日志方案 登录容器服务管理控制台. 将上 ...

  3. php 常用类汇总

    转自:http://www.blhere.com/953.html 图表库 下面的类库可以让你很简单就能创建复杂的图表和图片.当然,它们需要GD库的支持. pChart - 一个可以创建统计图的库. ...

  4. 洛谷P3455 [POI2007]ZAP-Queries (莫比乌斯反演)

    题意:求$\sum_{i=1}^{a}\sum_{j=1}^{b}[gcd(i,j)==d]$(1<=a,b,d<=50000). 很套路的莫比乌斯反演. $\sum_{i=1}^{n}\ ...

  5. Unity3D 物体旋转之Quaternion.Slerp

    实现的功能:1个物体以一定的速度转向目标物体 Quaternion TargetRotation = Quaternion.LookRotation(m_Target.transform.positi ...

  6. BZOJ 3884 上帝与集合的正确用法题解

    一道智慧题 其实解这题需要用到扩展欧拉定理, 有了上面的公式,我们不难看出此题的解法. 设b为2^2^2^2^2.....显然,b要比φ(p)要大,所以可以直接套公式 modp时的答案 ans(p)= ...

  7. XCode4 App Store提交小结

    本文建立在你的应用程序已开发完成的基础上 本文以理清流程为主 本文的内容以Distribution为准,但是所附的参考资料也有对Ad Hoc的说明 三种证书(Development.Distribut ...

  8. php上传文件与图片到七牛的实例详解

    上传文件到七牛最简单的方式就是使用七牛官方最新的SDK 用composer安装PHP SDK composer require qiniu/php-sdk 上传文件到七牛 use Qiniu\Auth ...

  9. 2019-7-25-VisualStudio-2019-新创建项目添加-git-仓库

    title author date CreateTime categories VisualStudio 2019 新创建项目添加 git 仓库 lindexi 2019-7-25 15:8:15 + ...

  10. deepin golang微服务搭建go-micro环境

    1.安装micro 需要使用GO1.11以上版本 #linux 下 export GO111MODULE=on export GOPROXY=https://goproxy.cn # 使用如下指令安装 ...