PooledObjectFactory的create方法没有参数
如果我的 Foo 类定义是:
public class Foo {
private String name;
public Foo(String name) {
super();
this.name = name;
}
}
这个 Foo 可以被 commons-pool 池化吗?
谢谢你的建议
最佳答案
因为抽象类不能创建对象, 您需要扩展 BasePooledObjectFactory 并实现其抽象方法。 通过这样做,您可以创建自己的类(例如,FooFactory),其中包含带参数的构造函数。 之后,您可以使用自己的类来实例化对象(即 Foo)。
示例代码:
public class FooFactory extends BasePooledObjectFactory<Foo> {
private String name;
public FooFactory(String name) {
this.name = name;
}
@Override
public Foo create() throws Exception {
return new Foo(name);
}
}
关于java - 如果 commons-pool2 可以用参数新建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38894184/