commonsのオブジェクトプール
public class Model { public void m1(){ System.out.print("hoge"); } } public class MyObjectFactory extends BasePoolableObjectFactory { @Override public Object makeObject() throws Exception { return new Model(); } } public static void main(String[] args) { PoolableObjectFactory objectFactory = new MyObjectFactory(); ObjectPoolFactory poolFactory = new StackObjectPoolFactory(objectFactory); ObjectPool pool = poolFactory.createPool(); Model pooled; try { pooled = (Model)pool.borrowObject(); pooled.m1(); pool.returnObject(pooled); } catch (Exception e) { e.printStackTrace(); } }
実行結果
hoge