common-pool jar 包的简单使用,池化资源对象

来源:互联网 发布:酷听说软件问题 编辑:程序博客网 时间:2024/06/04 19:38

common-pool jar 包的简单使用,池化资源对象

1,导入common-pool.jar 包

具体使用 

      1) , 编写一个待池化的 普通的java类。

      2) , 编写一个工厂类(用于生产待池化的java类) 继承 BasePoolableObjectFactory 类

      3) , 编写一个池化的类pool , 用作对 待池化类的 使用

demo:


package pool.yand;/** * Created by yanzz on 2017/6/21. */public class YanD {    private String name;    public void say(){        System.out.println("Hello Word!!!");    }}

package pool.yand;import org.apache.commons.pool.BasePoolableObjectFactory;/** * Created by yanzz on 2017/6/21. */public class CreateYanDFactory  extends BasePoolableObjectFactory {    @Override    public Object makeObject() throws Exception {        YanD yand = new YanD();        return yand;    }}


package pool.yand;import org.apache.commons.pool.impl.GenericObjectPool;import org.apache.commons.pool.impl.GenericObjectPool.Config;/** * Created by yanzz on 2017/6/21. */public class GetYanDFactory {    private GenericObjectPool pool;    public GetYanDFactory(Config config){        CreateYanDFactory factory= new CreateYanDFactory();        pool = new GenericObjectPool(factory, config);    }    public YanD getYanD() throws Exception{        return (YanD)pool.borrowObject();    }    public void releaseYanD(YanD yand){        try {            pool.returnObject(yand);        } catch (Exception e) {            e.printStackTrace();        }    }}


测试:

package pool.yand;import org.apache.commons.pool.impl.GenericObjectPool.Config;/** * Created by yanzz on 2017/6/21. */public class Main {    public static void main(String [] args){        Config config = new Config();        config.maxActive = 16;        config.maxWait = 30000;        GetYanDFactory getYanDFactory = new GetYanDFactory(config);        try {            YanD yand = getYanDFactory.getYanD();            yand.say();        } catch (Exception e) {            e.printStackTrace();        }    }}


原创粉丝点击