gpt4 book ai didi

java - 对象池: howto

转载 作者:行者123 更新时间:2023-11-30 05:14:06 26 4
gpt4 key购买 nike

我需要实现一个由外部系统返回的 session 池,这样我就可以在需要时快速重用它们(创建 session 需要一段时间)。我使用数据源创建了一个数据库连接池(来自 Apache 的 DBCP),它是已实现的解决方案。

在一般情况下,我们使用什么来池化任意对象,是否有实现的解决方案(即对象,而不是接口(interface))来痛苦地处理该任务?

第二个问题是,我们如何测试 session 是否还活着?是否有我们在对象池中重写的特定方法来查询 session 自己的方法?

第三个非常重要的问题是,对象池对象应该是静态的吗?我从系统中提取的一组对象必须在不同的 Web 应用程序之间共享。比如说,我们提取 5 个 session 。应用程序 A 查询 POOL 并获取第一个可用的 session 。现在还剩 4 节课。另一个应用程序 B 启动并查询 THE SAME POOL。等 游泳池是共用的。在同一台计算机上运行的同一 Web 应用程序的不同实例之间。

最佳答案

  1. 对于通用对象池,你有一个Apache Commonsproject为了那个原因。
  2. 用于测试一个 session 还活着,有不同的方式,但其中很多都是不可靠。而且可靠的一个(在 dual 上进行查询)速度很慢。您可以看看c3p0 ,它内置了该功能。
  3. 只要您的许多 Web 应用程序位于同一个 WAR 文件中,我认为您就可以使用此静态池对象。不过,就我个人而言,我更喜欢单例,而不是静态对象,因为静态对象除了实用方法和常量之外还有其他东西。

总的来说,我是 Hibernate 的忠实粉丝...您是否考虑过在您的应用程序中使用它?您仍然可以通过它进行简单的 SQL 查询,并且它会为您处理池化和缓存。

关于java - 对象池: howto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com