当前位置: 首页 > 知识库问答 >
问题:

GenericObjectPool返回的对象当前不属于此池

赖渊
2023-03-14

我已经创建了一个需要重用的对象池。每次试图返回对象时,我都会得到一个错误:“返回的对象当前不属于此池”

GenericObjectPoolConfig config = new GenericObjectPoolConfig();
config.setMaxIdle(10);
config.setMaxTotal(10);
config.setTestOnBorrow(true);
config.setTestOnReturn(true); 
ImageDownloaderPool.POOL= new ImageDownloaderPool<String, String>(new ImageDownloaderFactory<String, String>(), config);
@Override
public boolean equals(Object o) {
   if (this == o) return true;
   if (!(o instanceof ImageDownloader)) return false;
   ImageDownloader<String, String> that = (ImageDownloader<String, String>) o;
   if (id != null ? !id.equals(that.id) : that.id != null) return false;
   return true;
}

@Override
public int hashCode() {
  return id != null ? id.hashCode() : 0;
}
 finally { 
   if (dl != null) { 
      try {
         ImageDownloaderPool.getPOOL().returnObject(dl);
      } 
      catch (Exception e2) {
        e2.printStackTrace();
      }

我得到这个错误:

共有1个答案

张鸿志
2023-03-14

由于您正在用两个类实例化您的池,我假设您正在扩展

org.apache.commons.pool2.impl.GenericKeyedObjectPool
pool.returnObject("yourkey", yourobject);

不需要AFAIK覆盖。

 类似资料:
  • 尽管遵循了多种不同的资源,但我无法让PowerMock在新的时间工作。以下是我的示例: 我试图模拟构造函数,使其指向这样的点: 我做错什么了吗?我应该提到,我正在gradle项目中使用PowerMock。这似乎与https://automationrhapsody.com/mock-new-object-creation-powermock/,所以我不知道为什么它对我不起作用。

  • 问题内容: 我正在通过放入池中进行研究,以便可以重复使用它。 密码工厂 这就是我在 Example 类中实现的方式 打印池 我在正确的道路上吗?是否可以增加泳池大小? 编辑 @http的答案对我来说很好。但是,如果我有另一种方法,应该怎么写? 任何帮助,将不胜感激 ! 问题答案: 您走在正确的轨道上。构造GenericObjectPool时,可以使用接受GenericObjectPoolConfi

  • 遇到了 keyup 和 keydown 区别的问题,于是自己简单在控制台输出了一个小写字母 a。 这是 keydown 的输出打印。 这是 keypress 的打印。 为什么这两个事件对象返回字母 a 的 keyCode 编码竟然不一致?

  • 要创建温度转换器,我想知道在中返回对象意味着什么? 实现一个名为Temperature的类,它表示以华氏或摄氏为单位的温度。允许度数有小数位(如double)并使用枚举来存储单位。用可能的值摄氏、华氏和开尔文命名枚举。具体地说,Temperature类具有以下实例变量(也称为字段或数据): (双倍)(TemperatureUnit-来自您创建的枚举) Temperature类将具有以下方法: (给

  • 我有一个像这样的POJO: 我想将json反序列化为Pojo。问题是我的属性名与productType相同,但我可以预期有两种不同的返回类型或数据结构。 返回object 返回

  • 我之前问过这个问题,它与这个问题相关(如何从异步调用返回响应?),但它并没有解决我的问题 我是node.js的新手,我遇到了一些我无法处理的错误,或者找不到任何我理解的帮助。我使用express generator初始化应用程序。我试图通过一个api调用将我得到的对象发送到前端。我编写了一个类“StockClass.js”,其中包含一个函数makeApiCall(),该函数进行调用并返回对象。但当