Package org.mule.transport

Source Code of org.mule.transport.DefaultConfigurableKeyedObjectPool

/*
* $Id: DefaultConfigurableKeyedObjectPool.java 19252 2010-08-30 18:06:30Z pablo.kraan $
* --------------------------------------------------------------------------------------
* Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
*
* The software in this package is published under the terms of the CPAL v1.0
* license, a copy of which has been included with this distribution in the
* LICENSE.txt file.
*/

package org.mule.transport;

import java.util.NoSuchElementException;

import org.apache.commons.pool.KeyedPoolableObjectFactory;
import org.apache.commons.pool.impl.GenericKeyedObjectPool;

/**
* Implements {@link ConfigurableKeyedObjectPool} as a delegate of a {@link KeyedPoolableObjectFactory}
* instance.
*/
public class DefaultConfigurableKeyedObjectPool implements ConfigurableKeyedObjectPool
{

    private final GenericKeyedObjectPool pool;

    public DefaultConfigurableKeyedObjectPool()
    {
        pool = new GenericKeyedObjectPool();

        // NOTE: testOnBorrow MUST be FALSE. this is a bit of a design bug in
        // commons-pool since validate is used for both activation and passivation,
        // but has no way of knowing which way it is going.
        pool.setTestOnBorrow(false);
        pool.setTestOnReturn(true);
    }

    public Object borrowObject(Object key) throws Exception, NoSuchElementException, IllegalStateException
    {
        return pool.borrowObject(key);
    }

    public void returnObject(Object key, Object obj) throws Exception
    {
        pool.returnObject(key, obj);
    }

    public void invalidateObject(Object key, Object obj) throws Exception
    {
        pool.invalidateObject(key, obj);
    }

    public void addObject(Object key) throws Exception, IllegalStateException, UnsupportedOperationException
    {
        pool.addObject(key);
    }

    public int getNumIdle(Object key) throws UnsupportedOperationException
    {
        return pool.getNumIdle(key);
    }

    public int getNumActive(Object key) throws UnsupportedOperationException
    {
        return pool.getNumActive(key);
    }

    public int getNumIdle() throws UnsupportedOperationException
    {
        return pool.getNumIdle();
    }

    public int getNumActive() throws UnsupportedOperationException
    {
        return pool.getNumActive();
    }

    public void clear()
    {
        pool.clear();
    }

    public void clear(Object key) throws Exception, UnsupportedOperationException
    {
        pool.clear(key);
    }

    public void close() throws Exception
    {
        pool.close();
    }

    public void setFactory(KeyedPoolableObjectFactory factory) throws IllegalStateException, UnsupportedOperationException
    {
        pool.setFactory(factory);
    }

    public int getMaxActive()
    {
        return pool.getMaxActive();
    }

    public int getMaxTotal()
    {
        return pool.getMaxTotal();
    }

    public void setMaxWait(long maxWait)
    {
        pool.setMaxWait(maxWait);
    }

    public void setMaxActive(int maxActive)
    {
        pool.setMaxActive(maxActive);
    }

    public void setMaxIdle(int maxIdle)
    {
        pool.setMaxIdle(maxIdle);
    }

    public void setMaxTotal(int maxTotal)
    {
        pool.setMaxTotal(maxTotal);
    }

    public int getMaxIdle()
    {
        return pool.getMaxIdle();
    }

    public void setWhenExhaustedAction(byte whenExhaustedAction)
    {
        pool.setWhenExhaustedAction(whenExhaustedAction);
    }

    public byte getWhenExhaustedAction()
    {
        return pool.getWhenExhaustedAction();
    }

    public long getMaxWait()
    {
        return pool.getMaxWait();
    }
}
TOP

Related Classes of org.mule.transport.DefaultConfigurableKeyedObjectPool

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.