我需要实现一个由外部系统返回的会话池,以便在需要时可以快速重用它们(创建会话需要一段时间)。我使用数据源创建了一个数据库连接池(来自 Apache 的 DBCP),这是一个已实现的解决方案。
在一般情况下,我们使用什么来池化任意对象,是否有已实现的解决方案(即对象,而不是接口)来痛苦地处理任务?
第二个问题是,我们如何测试 Session 是否存在?是否有我们在对象池中覆盖的特定方法来查询 Session 自己的方法?
第三个非常重要的问题是,对象池对象应该是静态的吗?我从系统中提取的一组对象必须在不同的 Web 应用程序之间共享。所以,比如说,我们提取 5 个会话。App A 查询 POOL 并获取第一个可用的 Session。现在还剩下 4 个会话。另一个 App B 启动并查询 THE SAME POOL。等 游泳池是共享的。在同一台机器上运行的同一 Web 应用程序的不同实例中。