为什么要池化无状态会话 Bean?

2023-12-20

Java 中的无状态 bean 不会在客户端的两次调用之间保留其状态。简而言之,我们可以将它们视为具有业务方法的对象。每个方法都接受参数并返回结果。调用该方法时,会在执行堆栈中创建一些局部变量。当该方法返回时,局部变量将从堆栈中删除,并且如果分配了一些临时对象,则无论如何它们都会被垃圾收集。

从我的角度来看,这与通过单独的线程调用同一单个实例的方法没有什么不同。那么为什么容器不能使用一个 bean 实例而不是池化多个 bean 实例呢?


池化可以做几件事。

第一,通过每个实例有一个 bean,可以保证线程安全(例如,Servlet 就不是线程安全的)。

第二,您可以减少 Bean 可能具有的任何潜在启动时间。虽然会话 Bean 是“无状态的”,但它们只需要对于客户端来说是无状态的。例如,在 EJB 中,您可以将多个服务器资源注入到会话 Bean 中。该状态对于 bean 来说是私有的,但是您没有理由不能在调用之间保持它。因此,通过池化 Bean,您可以减少这些查找,使其仅在创建 Bean 时发生。

第三,您可以使用 Bean 池作为限制流量的手段。如果池中只有 10 个 Bean,则最多只能同时处理 10 个请求,其余的将排队。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么要池化无状态会话 Bean? 的相关文章

  • Hashmap并发问题

    我有一个哈希图 出于速度原因 我希望不需要锁定 假设我不介意过时的数据 同时更新它和访问它会导致任何问题吗 我的访问是获取 而不是迭代 删除是更新的一部分 是的 这会导致重大问题 一个例子是向散列映射添加值时可能发生的情况 这可能会导致表重
  • 无法在类对象的 ArrayList 中存储值。 (代码已编辑)

    这基本上是一个 Java 代码转换器 它涉及一个 GUI 让用户输入类类型 名称和方法 为了存储值 我创建了一个类VirtualClass与ArrayList
  • 手动编辑 Jar 以更改包名称

    我有一个来自外部源的 jar 文件 jar 中的所有类都位于 com xyz 包中 我想将所有类移动到 com xyzold 包中 这是否像解压缩 jar 将 xzy 文件夹重命名为 xyzold 并重新压缩它一样简单 或者我还需要修改每个
  • 在哪里可以获得有关 Java FitNesse 和 Slim 的一些教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何开始使用 Chainsaw for Log4j?

    我想开始使用 Chainsaw v2 几乎没有关于它的信息 我只找到了this http www velocityreviews com forums t140105 help using chainsaw for log4j html 但
  • 如何在远程 WebSphere 上进行 JNDI 查找期间解决 sun/io/MalformedInputException

    我使用 WebSphere 8 5 来托管我的应用程序 并在应用程序服务器上配置了一些 JDBC 资源 我还使用瘦客户端运行时库开发了一个客户端应用程序 当按以下方式执行 JNDI 查找时 env put Context INITIAL C
  • Java 正则表达式 - 字母数字,最多一个连字符,句点或下划线,七个字符长

    我是 Java 正则表达式工具的新手 尽管它们潜力巨大 但我很难完成这项任务 我想编写一个正则表达式来验证遵循以下语法的输入字符串 小写字母和数字的任意组合 仅一个下划线 一个破折号或一个句号 无其他特殊字符 最小长度为 5 我想出了以下解
  • 尝试使用 JRI 将 R 与我的 Java 应用程序集成,但出现错误。谁能解释一下原因和解决办法吗?

    我需要将 Java 与 R 集成来运行一些数学命令并使用 R 的功能进行绘图 以下部分代码给出了错误 public static void main String args HelloRWorld r new HelloRWorld r h
  • 正则表达式获取字符串中的第一个数字和其他字符

    我是正则表达式的新手 想知道如何才能只获取字符串中的第一个数字 例如100 2011 10 20 14 28 55 在这种情况下 我希望它返回100 但该数字也可以更短或更长 我在想类似的事情 0 9 但它单独获取每个数字 100 2001
  • JTable 和 JScrollpane 大小的问题

    我有一个JScrollPane with a JTable在里面 在里面JTable我最初有 3 行 稍后添加行 默认JTable我的 3 行很难看 因为JScrollPane calls getPreferredScrollableVie
  • 容器中的 JVM 计算处理器错误?

    最近我又做了一些研究 偶然发现了这一点 在向 OpenJDK 团队抱怨之前 我想看看是否有其他人观察到这一点 或者不同意我的结论 因此 众所周知 JVM 长期以来忽略了应用于 cgroup 的内存限制 众所周知 现在从 Java 8 更新某
  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • 从 @JsonProperty 值获取枚举常量

    我有一个标有 JsonProperty 的枚举 用于使用 Jackson 进行 JSON 序列化 反序列化 并且希望获取给定字符串 JsonProperty 的枚举值 public enum TimeBucket JsonProperty
  • 在 Java 中将弯音发送到 MIDI 音序器

    我了解启动和运行 MIDI 音序器的基础知识 并且希望能够在播放过程中增加 减小序列的音高 但弯音是发送到合成器而不是音序器的消息 我尝试将音序器的接收器设置为合成器的发射器 当我发送弯音短消息时 音序器保持相同的音调 但随后合成器以新的弯
  • 带有 OpenId 提供程序的 Java Spring 安全性

    我有一个 spring MVC 应用程序 另一个客户端应用程序想要使用 open id connect 访问我的 spring 应用程序 如何在服务器端实现开放ID提供商 请帮忙 MITREid 连接 OpenID Connect Java
  • 警告:无法更改每个人的权限:

    当运行 Java 快速入门示例时https developers google com drive web quickstart java hl hu https developers google com drive web quicks
  • 公共方法与公共 API

    在干净的代码书中 有一个观点是 公共 API 中的 Javadocs 同样 Effective java 一书也有这样的内容 项目 56 为所有公开的 API 元素编写文档注释 所以这就是我的问题 所有公共方法都被视为公共 API 吗 它们
  • 对于当前月份和日期但年份不同的日期,经过的月份计算未给出正确的结果

    我正在尝试计算自特定日期以来经过的月份 该函数工作正常 尽管如果我将今天的日期与过去的不同年份放在一起 它会给我一个月的差异 不到一个月 假设对于所有日期 该函数都运行良好 除了 如果今天是 2014 03 06 YYYY MM DD 并且
  • 春季 CORS。在允许的来源中添加模式

    查看CORS的弹簧指南 以下代码启用所有允许的来源 public class MyWebMVCConfigurer extends WebMvcConfigurerAdapter Override public void addCorsMa
  • 防止Java实例化的正确方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐

  • r - tag$head 中的错误:“closure”类型的对象不可取子集

    当我在笔记本电脑上运行 Shiny 应用程序时 出现此错误 在我使用库 git2r 添加一行代码之前 应用程序就可以工作了 下面是我的代码 有人可以帮忙吗 谢谢 ui R league desc lt c Premier League Se
  • Unity 2019.3.0a7:Microsoft Visual C# 编译器错误

    我已升级到最新的 Unity 版本 Unity 2019 3 0a7 但在不同的文件中却遇到了大量错误 与我合作的朋友也运行相同的版本 但没有出现错误 其中有两个 每个引用不同的包 但都引用每个包内的多个错误 错误大致如下 R Visual
  • 添加验证到 Angular 材质禁用字段

    简化的场景是在我的表单上有两个字段 A 和 B 字段 A 是必需的并且已启用 字段 B 也是必需的 但被禁用 并且仅作为字段 A 中键入的数据的结果而填充 动态 并且在某些情况下 B 可能会解析为 NULL 除非两个字段都已填充 否则用户应
  • 在url中使用下划线连接组合键是好还是坏设计?

    我正在为以下用例寻找 RESTful API 设计的最佳实践 Table1 Table2 Id1 Id1 Id2 Id2 Id3 Id3 Name Name Table1Id1 FK to Table1 Table1Id1 FK to Ta
  • 使用 pandas reindex 和 float:插值

    你能解释一下这种奇怪的行为吗 df pd DataFrame year 1986 1987 1988 bomb arange 3 set index year In 9 df reindex arange 1986 1988 125 125
  • 在mongo查询中将iso日期转换为时间戳

    这是查询 project formattedDate dateToString format Y m d date ceatedAt createdAtMonth month ceatedAt rating 1 group id forma
  • Nodejs无法连接到云shell上的mongodb

    我的 MongoDB 服务器托管在 google cloud VM 上 我希望创建 App Engine 微服务 测试连接性 我的 server js 看起来像 const MongoClient require mongodb Mongo
  • 如何使用 Spark 查找 10 亿条记录的最近邻居?

    给定 10 亿条记录 其中包含以下信息 ID x1 x2 x3 x100 1 0 1 0 12 1 3 2 00 2 1 1 2 2 3 对于上面的每个 ID 我想根据向量的欧几里德距离 x1 x2 x100 找到前 10 个最接近的 ID
  • 在 JavaScript 中重复某个字符串多次

    在 Perl 中 我可以使用以下语法多次重复一个字符 a a x 10 results in aaaaaaaaaa 有没有一种简单的方法可以在 Javascript 中实现这一点 显然我可以使用一个函数 但我想知道是否有任何内置方法或其他一
  • 自动输入 Python 提示

    我正在尝试编写一个 python 脚本 它将为我执行 bash 命令行程序 该程序要求用户输入两次 我希望我的脚本每次都自动输入 1 我听说过这样的事情 os system program lt prepared input 如何编写pre
  • q-learning计算中的大量状态

    我通过 q learning 实现了一款 3x3 OX 游戏 它在 AI vs AI 和 AI vs Human 中完美运行 但我无法更进一步地进行 4x4 OX 游戏 因为它会耗尽我所有的 PC 内存并崩溃 这是我当前的问题 大数组中的访
  • 根据优先级映射数据框列

    我有一个主数据框 main df 例如 A B X Y Id1 0 cat cat1 catabc 0 1 uuid01 1 cat cat1 catxyz 0 4 uuid02 2 cat cat2 catpqr 0 5 uuid01 3
  • Javascript - 按日期然后按时间对对象数组进行排序

    我有以下数组 id 1 value value1 date 2018 08 08 time 15 27 17 id 2 value value2 date 2018 08 09 time 12 27 17 id 3 value value3
  • 在 R 中创建水平条形图以显示活动序列

    数据集 患者 是患者访问诊所并接受治疗的事件日志 下面的脚本提供了一个数据帧 其中包含事件日志中的跟踪或活动序列 trace id 以及特定跟踪之后的案例的绝对频率 我希望使用创建动态水平条形图ggplot2 or plotly这样 迹线的
  • JPA和独特的领域

    我的应用程序中有两个持久性对象 事物和附加到事物的标签 该应用程序可以生成带有附加标签的事物集合 标签对象具有唯一的名称 使用相同标签两次标记某物是没有意义的 插入事物 附加标签对象 时 其中一些具有相同名称的标签对象可能已存在于数据库中
  • 是否可以声明具有无限上限的 Ada 范围?

    我想在 Ada 中声明记录类型的速度范围 下面的方法行不通 但是有没有办法让它工作呢 Speed in knots range 0 to unlimited Speed float Range 0 0 unlimited 我只想要这个数字的
  • 如何从加密字符串中提取加密方法生成的IV向量

    我在提取使用 生成的 IV 时遇到问题encrypt方法来自encrypted strings我提供的特定密码库 从文档中 我看到此方法使用 C 库根据密码生成密钥和 iv 该 C 库调用与 openssl 相同的方法来生成密钥和 iv E
  • AWS ElasticBeanstalk .ebextensions 未执行

    我正在尝试在 AWS EB 上部署后完成一些事情 我已经添加了我的 ebextensions到 git 存储库 我只有一个文件01 container commands config 当我跟踪时它似乎没有运行 var log eb acti
  • Google Firestore - 构建深度嵌套的有序数据

    我正在尝试弄清楚如何使用 Cloud Firestore 构建我的锻炼应用程序的数据 数据模型如下 该应用程序有很多组练习 每组练习都有一个有序的练习列表 每个练习都有一个练习部分的有序列表 每个练习部分都有一个有序的说明列表 每条指令都有
  • 为什么要池化无状态会话 Bean?

    Java 中的无状态 bean 不会在客户端的两次调用之间保留其状态 简而言之 我们可以将它们视为具有业务方法的对象 每个方法都接受参数并返回结果 调用该方法时 会在执行堆栈中创建一些局部变量 当该方法返回时 局部变量将从堆栈中删除 并且如