随笔-5  评论-41  文章-13  trackbacks-0
这个其实没怎么仔细研究,不过好像也挺简单的,下面是一个简单的例子。(可能还有其他更简单的用法,等我看完源代码再说)

1。自己实现一下PoolableObjectFactory。主要是实现makeObject方法,生成并返回一个自己想要的类实例。如果想要实现可重用也很简单,加一个setObject的方法,然后在makeObject中使用反射机制生成类的实例。

package com.pool;

import org.apache.commons.pool.PoolableObjectFactory;

import com.domain.User;

public class MyObjectFactory implements PoolableObjectFactory {

    
private int id;
    
public MyObjectFactory() {
        
super();
    }

    
public Object makeObject() throws Exception {
        User user
=new User();
        user.setId(id);
        user.setName(
"name"+id);
        id
++;
        
return user;
    }

    
public void destroyObject(Object arg0) throws Exception {
        
// TODO Auto-generated method stub

    }

    
public boolean validateObject(Object arg0) {
        
// TODO Auto-generated method stub
        return true;
    }

    
public void activateObject(Object arg0) throws Exception {
        
// TODO Auto-generated method stub

    }

    
public void passivateObject(Object arg0) throws Exception {
        
// TODO Auto-generated method stub

    }

}

然后通过如下代码进行使用:
        GenericObjectPool pool = new GenericObjectPool(new MyObjectFactory());
        pool.setMaxActive(
5);//默认是8
                
                pool.borrowObject();
//取出object
                pool.returnObject(yourobject);//把取出的object还给对象池

posted on 2006-04-12 13:08 OO 阅读(1247) 评论(0)  编辑  收藏 所属分类: 框架、工具的使用

只有注册用户登录后才能发表评论。


网站导航: