问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

EJB3.0的有状态Bean与无状态Bean的最基础问题

发布网友 发布时间:2022-04-22 15:00

我来回答

1个回答

热心网友 时间:2023-06-23 00:54

规范里面说对于远程的引用应该是 javax.rmi.PortableRemoteObject.narrow(object, IHello.class);
之后再 Cast 成 IHello, 因为在同一个 JVM 中的 Local EJB 没有远程操作带来的额外步骤,因此那个EJB对象在同一个JVM中直接给你就行了,但远程的则不同,通信层可以根据它自己的算法使用不同的方法,只要保证最后 PortableRemoteObject.narrow 返回的东西符合规范要求就可以了。

还有一点很重要的,有状态的 EJB 表示,当我们 create 一个 EJB 实例后并且在 remove 之前,后续的操作在服务器远程端都会对应同一个 EJB 实例来为我们服务,因此如果它有一些字段来记录上次操作的值的话就可以保持连续性,这就叫有状态。而无状态EJB在 create EJB 后连续发起的 EJB 操作远程服务器可以随机选择任意一个 EJB 对象实例来为我们服务,因此如果你在某个字段上保存了上次操作的值,那它是不能连续的,所以说无状态的 EJB 是不应该有成员变量的。而有状态EJB可以有成员变量。另外对于无状态EJB所有的实例其实可以共享,所以一般无状态的EJB可以启用 Enable Share Context 的选项,因为它肯定是线程安全的(它没有成员变量嘛),而有状态则不会有这个功能。因此,在 lookup 一个无状态 EJB 容器帮我们自动把 Home 接口调用一个 create 功能得到一个 business 接口的实例就是合情合理的,也是 EJB 3 简化的依据(我曾经在服务器上部署了一个 EJB 2.0 的无状态 EJB,然后在一个客户端中使用 EJB 3 调用它成功了,所以说内部实现其实还是基于 EJB 2.0 相同的原理和技术,只是把某些东西自动化了),但有状态 EJB 则问题复杂些。你可以通过把你 lookup 得到的 object 的父类和它实现的接口的列表打印出来,我们可以从这些接口的类名推测出它是什么东西,object.getClass().getInterfaces() 这个数组跑个循环打印它每个 interface 的类名来。我们能猜测一个它是什么。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 Culturelle儿童益生菌冲剂是怎么服用的?该冲多少水? 有状态的bean和无状态的bean的区别 无状态的javabean中可以使用静态变量吗 美国康萃乐益生菌好用吗? EJB有状态的会话Bean和无状态的会话Bean的区别 康萃乐里面的鼠李糖乳杆菌是什么东西?有什么用? Spring中到底什么叫有无状态的Bean,什么叫 崔玉涛推荐的3种益生菌 谁有《听说听说2009》百度云无删减完整版在线观看,彭于晏主演的? 康萃乐益生菌可以长期吃吗?会不会有依赖? 法国人的姓名太长,订机票无法出票,有没有知道这些姓(nom)的,可以怎么缩写啊??!! NOM认证的标志 护照上的surnae-nom是什么意思 后缀名为.nom是什么意思 怎么打开 404 Not Found 法语 nom是姓还是名 轿车档位字母PRNOM是什么意思 ton nom mon coeur 什么意思? 法语中nom ,prenom 的意思。 三坐标检测数据Nom、Act什么意思 EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的? 吃美国康萃乐益生菌还用吃双岐杆菌吗 Spring bean作用域 Spring 单例 多例 线程安全等问题,想请教大家 spring配置文件中能够用到的bean的作用域都有哪些 大人可以吃益生菌吗? EJb中有状态会话构件和无状态会话构件 慢性结肠炎用康萃乐益生菌可以治疗吗 宝宝知道 spring 的singleton 和prototype的区别和应用场合? spring bean作用域怎么选择 spring什么情况下使用非单例bean SPRING中属性SCOPE的prototype是什么意思 为什么说传统的Servlet对象是一个无状态对象 singleton和prototype的区别 spring的ioc容器怎样为普通的类创建单例? tplink150m无线路由器怎么设置 TP-link150M无线路由器怎么设置详细点的 普联无线150M路由器怎么安装 急 tplink150m路由器怎么重置 TP-LINK150m无线路由器无法使用