gpt4 book ai didi

java - 如果 commons-pool2 可以用参数新建对象?

转载 作者:行者123 更新时间:2023-11-30 10:40:28 24 4
gpt4 key购买 nike

PooledObjectFactory的create方法没有参数

https://commons.apache.org/proper/commons-pool/api-2.4.2/org/apache/commons/pool2/BasePooledObjectFactory.html#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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com