无状态会话Bean与有状态会话Bean的区别以及实例池

Java EE中有状态与无状态会话Bean详解与实战 通过对无状态和有状态会话Bean在功能适用性、生命周期管理、资源消耗、并发性与可扩展性等方面的深入比较,可以看出:无状态Bean更适合构建通用服务、微服务、REST接口等无需维护状态的场景,具备高并发、易扩展、低资源消耗等优势。有状态Bean更适合需要维护客户端会话状态的业务场景,如购物车、用户会话管理等,但其资源占用高、扩展性受限,尤其在分布式环境下面临更多挑战。 阅读详情

 

1 、有状态会话Bean 和无状态会话Bean 的区别?
从编写方面来说:接口没有区别,Bean 类使用Stateless 和Statefull 。
从客户端来说:没有任何区别。
从容器方面来说:对于无状态会话Bean 来说,当有客户端发送请求的时候,不一定创建实例,所以多个客户端可能共享实例,实例的成员变量保存的信息不是专门为某个客户保存的,这些信息是所有客户端共享的,有点类似于Java 的静态成员。客户端不能期望服务器端为你保存信息。处理过程需要的信息通过方法的参数传递。如果是有状态会话Bean ,服务器会为每个客户端创建独立实例(要保存信息),每个客户端的信息由相应的实例来保存,客户端的多次方法调用(initialize 、addbook 、removebook )之间可以共享信息,每次方法调用只需要传递额外的信息。
 
2 、实例池的应用
通过实例的共享,减少实例的创建和释放所花费的时间,从而提高性能,因为作为企业级一应用,创建和释放的次数会非常多。
服务器可以提前创建若干Bean 的实例,当有客户端访问的时候,可以快速的为客户端分配一个实例,用完之后再放回。
对于无状态会话Bean 来说,当请求发生的时候,可以从实例池中任意挑选一个实例。
对于有状态会话Bean 来说:
如果是新的请求
    如果有空闲实例(没有与客户端关联),从实例池中挑选空闲实例;
    如果没有空闲实例,查找与客户端(假设为C2 )关联了但是没有使用的实例,首先为C2 保存状态信息(挂起C2 或者钝化C2 );
  如果没有空闲实例,也没有可以挂起的客户端,则等待.
如果不是新的请求(可以认为是第二次或者之后的方法调用)
    首先查找与它关联的实例是否存在,如果在,直接调用方法;
    如果关联的实例已经不可用,查找空闲实例使用,并且使用服务器为当前客户保存的信息来初始化这个实例(激活);
    如果没有空闲实例可用,先挂起另外一个客户,然后再激活当前客户。
  如果没有空闲实例,也没有可以挂起的客户端,则等待.
李绪成 优快云 Blog : http://blog.youkuaiyun.com/javaeeteacher
关于有状态和无状态会话bean的解释 NULL 博文链接:https://caizhongda.iteye.com/blog/341007 立即下载

相关推荐

双向晶闸管交流调压基础知识及Multisim电路仿真

本文介绍了双向晶闸管交流调压电路的工作原理及应用。该电路由双向晶闸管、RC移相电路和双向触发二极管组成,通过调节电位器改变触发角实现电压调节。当电位器阻值减小时,触发角减小,输出电压升高;阻值增大时,触发角增大,输出电压降低。Multisim仿真展示了不同电位器档位下的波形特征:0%档位时全导通,50%档位时半导通,100%档位时基本关断。该电路结构简单、调节平滑,广泛应用于调光、调速等场合,但会产生谐波干扰。

XU157303764的博客 838

【java并发编程实战】第二章 对象有状态 & 无状态

a

m0_45406092的博客 763

巨某量引擎后台登录实战笔记 | Playwright自动化框架

自动化框架、Playwright、滑块、巨某量引擎、抖某音系

什么都会一点。 2080

有状态和无状态bean区别

1.无状态会话Bean 从字面意思来理解,无状态会话Bean是没有能够标识它的目前状态的属性的Bean。例如: [code="java"] public class A { public A() {} public String hello() { return "Hello 谁?"; } } ...

Jelly_JAVA博客 556

飞腾平台(FT2000/4 D2000/8)配置GPIO引脚

飞腾平台配置CPU的引脚为GPIO工作模式的方式有永久型和暂时型: - 永久型是通过UEFI中的MmioWrite32函数来实现的,该方法可以在UEFI阶段就对复用引脚的工作模式配置为GPIO,并且在进入操作系统后仍然不会发生便会; - 临时型是通过rw工具,在系统下手动修改复用引脚的工作模式,该方法在系统重启后会失效,所以是暂时型的。

qq_30135687的博客 5614

斯坦福大学3D点云模型下载

本文整理了斯坦福大学10个经典的点云(pcd)及其模型(ply),方便日后使用,欢迎免费下载!

孙悟空 7733

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

Session Bean 主要的目的是让程序开发者将逻辑层抽离; Entity Bean 主要是资料组件, Entity Bean 主要的目的,在于提供资料,也就是说程序设计师可以将 Entity Bean 当程序资料; Message Driven Bean 与 Session Bean 或是 Entity Bean 均不相同,一般 Session Bean 或是Entity Bean 都可以让使用者主动触发,但

qq_42095014的博客 703

AXI-5.6 Multiple region interfaces

规则:如果从设备实现的区域少于16个,它必须确保对任何访问未支持区域的尝试都能给出符合协议的响应。具体实现方式由设计者定义。场景:一个错误的软件驱动试图向区域 5(该加密加速器未实现)写入数据。实现方式一:提供错误响应(严格模式)行为:加密加速器检测到AxREGION的值大于2,立即对该事务返回一个DECERR(解码错误)或SLVERR(从设备错误)响应。举例:这类似于你访问一个不存在的网站,服务器返回“404 Not Found”。它明确告知请求者:“你要找的东西不存在”。优点安全、清晰。

weixin_44700185的博客 672

Spring学习笔记(十六):无状态 bean和有状态bean

现实中,很多朋友对两种session bean存在误解,认为有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用,而认为无状态是每次调用实例化一次,不保留用户信息。仔细分析并用实践检验后,你会发现,事实恰好相反: 有状态和无状态会话bean的本质区别是它们的生命期。 首先解释一个下面要用到的概念--用户:session bean 的用户实际上就是直接调用ejb的类的实例,甚至是这个实

汤圆学Java 6470

【AI就业干货12】机器学习八股文速通:从损失函数到 XGBoost,一篇带走全部面试点

本文总结了机器学习面试的核心知识点,涵盖监督与非监督学习、线性模型、正则化、决策树、KNN/K-means、SVM、集成学习、梯度下降、评估指标、特征工程、降维、概率模型等内容。重点包括:损失函数选择(MSE/交叉熵)、正则化作用(L1稀疏/L2平滑)、决策树划分准则、集成学习方法(Bagging降方差/Boosting降偏差)、XGBoost优化等。提供了30秒速记口诀和XGBoost代码示例,帮助快速掌握面试要点。全文采用公式+代码+口诀的形式,系统梳理了机器学习从理论到实践的常见考点。

m0_51738372的博客 731

【SemiDrive源码分析】【X9芯片启动流程】11 - freertos_safetyos目录Cortex-R5 DIL2.bin 引导程序源代码分析

【SemiDrive源码分析】【X9芯片启动流程】11 - freertos_safetyos目录Cortex-R5 DIL2.bin 引导程序源代码分析

|~~~热爱生活、努力学习的小伙汁~~~| 2109

EJB

会话bean管理用户会话,实体bean管理数据访问,而消息驱动bean相应JMS消息1.有状态和无状态会话bean的本质区别现实中,很多朋友对两种session bean存在误解,认为有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用,而认为无状态是每次调用实例化一次,不保留用户信息。仔细分析并用实践检验后,你会发现,事实恰好相反:有状态和无状态会话bean的本质区别是它们

Jidea的专栏 871

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

有状态Bean和无状态Bean

现实中,很多朋友对两种session bean存在误解,认为有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用,而认为无状态是每次调用实例化一次,不保留用户信息。仔细分析并用实践检验后,你会发现,事实恰好相反: 有状态和无状态会话bean的本质区别是它们的生命期。 首先解释一个下面要用到的概念--用户:session bean 的用户实际上就是直接调用ejb的类的实例,甚至是这个实例...

qq_36118769的博客 2165

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java - 有状态bean和无状态bean

有状态Bean和无状态Bean的本质区别:声明周期 1. 前言:EJB EJB:称为企业Java beans,是基于分布式事务处理的企业级应用程序的组件。 Sun公司发布的文档中对EJB的定义是:EJB是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构 EJB种类: EJB容器可以接收三类EJB: 会话Bean(Session Beans) 有状态会话Bean 无状态会话Bean 实体Bean(Entity Bean) 消息驱动Bean(Message Dri.

qq_40286155的博客 2484

EJB——有状态的会话bean和无状态的会话bean

前面文章介绍过EJB的一些基本概念和三种bean,今天重点介绍一下会话bean中的有状态会话bean和无状态会话bean。  会话bean分为有状态的会话bean和无状态的会话bean:有状态会话bean :  每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束。即每个用户最初都会得到一个初始的bea

邵鸿鑫 7654

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

首先你应该清楚Session bean在服务器上是怎么样被创建以及管理的。拿无状态会话bean来说服务器在实例池中维护了它的很多实例。每次客户端请求的时候任意一个无状态的会话bean都可能会被选择出来,来对这个请求作出相应的处理。也就是说如果客户端发起两次请求那么很有可能会是两个不同的无状态会话bean实例来做处理。实际上在这两个无状态会话bean之间没有什么联系。同样的如果客户端消失那么无状态会

郗晓勇|利己者生,利人者恒 3134

EJB 有状态会话bean无状态会话bean详解

下面主要对Session  Bean讨论     现实中,很多朋友对两种session bean存在误解,认为有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用,而认为无状态是每次调用实例化一次,不保留用户信息。仔细分析并用实践检验后,你会发现,事实恰好相反:有状态和无状态会话bean的本质区别是它们的生命期。    首先解释一个下面要用到的概念--用户:session be

eddle的专栏 1265

有状态会话Bean与无状态会话Bean

看到有状态会话Bean与无状态会话Bean首先会想到就是这里的状态指的是什么? 1、有状态(Stateful)         可以在不同的方法调用间保持针对各个客户端的状态        与客户端的联系必须被维持,这样做开销要大一些        有状态也可以这样理解,它存在存储能力,也就是说至少有一个属性来标识它目前的状态,例如: public class Stateful {

黄爱岗廊坊师范学院信息技术提高班 第七期 2335

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

在EJB里面,会话Bean分为两种,一种是有状态的会话Bean,另一种是无状态的会话Bean,本节主要讲解一下两者之间的区别。        对于有状态的会话Bean,这种情况属于,服务端与你单独开辟了一块空间与你进行交互。而客户端感觉服务端单独为他自己服务似的。而无状态的会话Bean,则服务端不提供了一个资源但是谁用都行,他不负责。所以客户端在使用的时候,则会感到这个服务 与其他人共享似的。服务

赵崇 2530

有状态会话bean

在会话bean综述中,描述了无状态和有状态bean的区别在于客户端和服务器之间交互形式不同。对于无状态会话bean,交互的开始和结束都在同一个方法中。有时客户端需要发出多个服务请求(需要调用多个方法),而每个请求需要访问或者考虑前面的请求结果。有状态会话bean的出现就是为了处理这种情况,通过向客户端提供一个专用的服务(某一个可以保留前面状态的bean),当客户端获得bean的引用时启动该服务,并

郗晓勇|利己者生,利人者恒 3720
上一篇: EJB概述
下一篇: Java基础:第十七讲 基本输入输出
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值