Example usage for org.apache.commons.pool2 PooledObjectFactory PooledObjectFactory

List of usage examples for org.apache.commons.pool2 PooledObjectFactory PooledObjectFactory

Introduction

In this page you can find the example usage for org.apache.commons.pool2 PooledObjectFactory PooledObjectFactory.

Prototype

PooledObjectFactory

Source Link

Usage

From source file:org.bimserver.renderengine.RenderEnginePool.java

public RenderEnginePool(int poolSize, RenderEngineFactory renderEngineFactory) throws RenderEngineException {
    super(new PooledObjectFactory<RenderEngine>() {
        @Override/*from  w  w  w  .  ja  va2s  .co m*/
        public void activateObject(PooledObject<RenderEngine> arg0) throws Exception {
            arg0.getObject().init();
        }

        @Override
        public void destroyObject(PooledObject<RenderEngine> arg0) throws Exception {
        }

        @Override
        public PooledObject<RenderEngine> makeObject() throws Exception {
            return new DefaultPooledObject<RenderEngine>(renderEngineFactory.createRenderEngine());
        }

        @Override
        public void passivateObject(PooledObject<RenderEngine> arg0) throws Exception {
        }

        @Override
        public boolean validateObject(PooledObject<RenderEngine> arg0) {
            return false;
        }
    });

    setMaxTotal(8);

    //      available = new ArrayBlockingQueue<>(poolSize);
    //      busy = new HashSet<>();
    //      for (int i=0; i<poolSize; i++) {
    //         available.add(renderEngineFactory.createRenderEngine());
    //      }
}