纸上得来终觉浅,绝知此事要躬行,我们用Commons-pool-1.6来写一个我们自己的对象池。
类MyObject 为池对象
类MyPoolableObjectFactory 为池对象工厂
类MyObjectPool封装的一个对象池
/**
*
* @author yujie.wang
* 测试类
*/
public class MyObject {
private String name;
// true 表明对象可用,false表明当前对象不可用
private boolean isValidate;
private String state ;
private boolean passivateFlag;
public MyObject(String name, boolean isValidate,String state){
this.name = name;
this.isValidate = isValidate;
this.state = state;
}
public void sayHello(){
System.out.println(name + " say hello world");
}
public boolean isPassivateFlag() {
return passivateFlag;
}
public void setPassivateFlag(boolean passivateFlag) {
this.passivateFlag = passivateFlag;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isValidate() {
return isValidate;
}
public void setValidate(boolean isValidate) {
this.isValidate = isValidate;
}
}
/**
*
* @author yujie.wang
* 池对象工厂 对象池会调用这个工厂操作我们的对象 比如创建 激活 验证 销毁 钝化
*/
public class MyPoolableObjectFactory extends BasePoolableObjectFactory<MyObject>{
@Override
publi