Если commons-pool2 может новый объект с параметром?

Метод создания PooledObjectFactory не имеет параметра

https://commons.apache.org/proper/commons-pool/api-2.4.2/org/apache/commons/pool2/BasePooledObjectFactory.html

Если мое определение класса Foo:

public class Foo {
    private String name;

    public Foo(String name) {
        super();
        this.name = name;
    }
}

Может ли этот Foo быть объединен с помощью commons-pool?

Спасибо за любой совет

1 ответ

Поскольку объекты не могут быть созданы абстрактными классами, вам необходимо расширить 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);
    }
}
Другие вопросы по тегам