2
아파치 커먼즈 풀 2와 함께 객체 P 풀을 만들고 싶습니다. 변수와 메소드로 P 객체를 만듭니다.아파치 커먼즈 풀 2 풀에 객체 추가
나는이 같은 PPool를 만들 : 나는 어떻게 P 개체의 10 경우, 예를 들어, 추가하려는 경우 지금
public class PhantomJsFactory extends BasePooledObjectFactory<Phantom> {
@Override
public P create() throws Exception {
// TODO Auto-generated method stub
return new P();
}
@Override
public PooledObject<P> wrap(P phantomjs) {
// TODO Auto-generated method stub
return new DefaultPooledObject<P>(phantomjs);
}
}
:
public class PPool extends GenericObjectPool<P>{
/**
* Constructor.
*
* It uses the default configuration for pool provided by
* apache-commons-pool2.
*
* @param factory
*/
public PPool(PooledObjectFactory<P> factory) {
super(factory);
}
/**
*
*
* @param factory
* @param config
*/
public PPool(PooledObjectFactory<P> factory,
GenericObjectPoolConfig config) {
super(factory, config);
}
}
그리고 그 후
가 나는 PFactory를 만들 내가 그랬어? 다음과 같이 시도해 보겠습니다. GenericObjectPoolConfig config = new GenericObjectPoolConfig();
config.setMaxIdle(1);
config.setMaxTotal(10);
config.setTestOnBorrow(true);
config.setTestOnReturn(true);
pool = new PPool(new PFactory(), config);
이제는?
을하지만? 그래서 내가 객체를 빌려 왔을 때 방금 준비한이 5 인스턴스를 가지고 있습니다. –
minIdle을 5로 설정할 수 있다고 생각합니다. 그러면 풀이 5 개의 유휴 인스턴스를 유지할 것입니다. 나는 당신이 당신의 프로그램의 초기화에 사용하기 전에 물건을 빌릴 수 있다고 생각한다. 'pool.returnObject (pool.borrowObject());''pool.getNumIdle(); '을 체크 할 수 있습니다. – Chk0nDanger
이 작동하지 않습니다 (int i = 0, l = config.getMinIdle(); , 내가 시도하지만 pool.getNumIdle() 실행할 때 0 인스턴스가 .. –