KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jdon > controller > pool > CommonsPoolAdapter


1 /**
2  * Copyright 2003-2006 the original author or authors.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6
7        http://www.apache.org/licenses/LICENSE-2.0
8
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */

15
16 package com.jdon.controller.pool;
17
18 import org.apache.commons.pool.impl.GenericObjectPool;
19
20 /**
21  * ObjectPool pool = new StackObjectPool(new MyPoolableObjectFactory());
22  * CommonsPoolAdapter cp = new CommonsPoolAdapter(pool);
23  * MyObject mo = (MyObject)cp.borrowObject();
24  * ....
25  * cp.returnObject(mo);
26  *
27  * <p>@author <a HREF="mailto:banqiao@jdon.com">banq</a></p>
28  */

29 public class CommonsPoolAdapter implements Pool {
30   private GenericObjectPool pool;
31
32   public CommonsPoolAdapter(GenericObjectPool pool){
33       
34      this.pool = pool;
35   }
36
37   public void setMaxPoolSize(int maxPoolSize){
38       pool.setMaxActive(maxPoolSize);
39   }
40
41   public int getMaxPoolSize(){
42     return this.getMaxPoolSize();
43   }
44
45   public Object JavaDoc acquirePoolable() throws Exception JavaDoc{
46     return this.pool.borrowObject();
47   }
48
49   public void releasePoolable(Object JavaDoc object) throws Exception JavaDoc{
50     this.pool.returnObject(object);
51   }
52
53   public int getNumActive(){
54     return this.pool.getNumActive();
55   }
56
57   public int getNumIdle(){
58     return this.pool.getNumIdle();
59   }
60
61 }
62
Popular Tags