【问题标题】:remove object out from pool in apache common pool2从 apache common pool2 中的池中删除对象
【发布时间】:2018-11-23 07:38:24
【问题描述】:

我通过使用BasePooledObjectFactory 扩展GenericObjectPoolpoolFactory 创建了GenericPool。现在我想从我的通用池中删除该对象。

.clear() 将从池中删除 idleObject 我们如何从池中永久删除?

【问题讨论】:

    标签: threadpool apache-commons pool object-pooling


    【解决方案1】:

    您的 poolFactory 必须实现该方法

    void destroyObject(PooledObject<T> p) throws Exception;
    

    虽然你的代码应该调用方法

    public void invalidateObject(final T obj) throws Exception
    

    在通用池上

    在运行时,如果遇到异常情况(可能是临时网络问题引起的),您需要从池中移除对象并重新创建它,因此调用 invalidateObject 将销毁该对象并在以下情况下自动创建新对象你打电话给borrowObject

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-14
      • 1970-01-01
      • 2012-06-04
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多