从apache公共pool2中的池中删除对象

时间:2018-11-23 07:38:25

标签: threadpool apache-commons pool object-pooling

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

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

1 个答案:

答案 0 :(得分:0)

您的poolFactory必须实现该方法

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

您的代码应调用方法

public void invalidateObject(final T obj) throws Exception

在GenericPool上

在运行时,如果遇到异常情况(可能是由于临时网络问题引起的),则需要从池中删除该对象并重新创建它,因此调用invalidateObject将销毁该对象并在出现以下情况时自动创建一个新对象你叫借款对象