dims        01/02/28 09:40:30

  Modified:    src/org/apache/cocoon Tag: xml-cocoon2
                        CocoonComponentSelector.java
                        DefaultComponentManager.java
               src/org/apache/cocoon/util Tag: xml-cocoon2
                        ComponentPool.java
  Log:
  When running Apache JMeter with a very high load. AbstractPool is not enough.
  So switching to ThreadSafePool instead.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.24  +2 -2      
xml-cocoon/src/org/apache/cocoon/Attic/CocoonComponentSelector.java
  
  Index: CocoonComponentSelector.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon/src/org/apache/cocoon/Attic/CocoonComponentSelector.java,v
  retrieving revision 1.1.2.23
  retrieving revision 1.1.2.24
  diff -u -r1.1.2.23 -r1.1.2.24
  --- CocoonComponentSelector.java      2001/02/22 17:10:17     1.1.2.23
  +++ CocoonComponentSelector.java      2001/02/28 17:40:24     1.1.2.24
  @@ -43,7 +43,7 @@
   /** Default component manager for Cocoon's non sitemap components.
    * @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Paul Russell</a>
  - * @version CVS $Revision: 1.1.2.23 $ $Date: 2001/02/22 17:10:17 $
  + * @version CVS $Revision: 1.1.2.24 $ $Date: 2001/02/28 17:40:24 $
    */
   public class CocoonComponentSelector implements Contextualizable, 
ComponentSelector, Composer, Configurable, ThreadSafe, Loggable {
       protected Logger log;
  @@ -228,7 +228,7 @@
                   ComponentFactory cf = new ComponentFactory(componentClass, 
(Configuration)configurations.get(hint), this.manager, this.context);
                   cf.setLogger(this.log);
   
  -                pool = new ComponentPool(cf, new ComponentPoolController());
  +                pool = new ComponentPool(cf);
                   pool.setLogger(this.log);
                   pool.init();
               } catch (Exception e) {
  
  
  
  1.1.2.22  +2 -2      
xml-cocoon/src/org/apache/cocoon/Attic/DefaultComponentManager.java
  
  Index: DefaultComponentManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon/src/org/apache/cocoon/Attic/DefaultComponentManager.java,v
  retrieving revision 1.1.2.21
  retrieving revision 1.1.2.22
  diff -u -r1.1.2.21 -r1.1.2.22
  --- DefaultComponentManager.java      2001/02/22 17:10:20     1.1.2.21
  +++ DefaultComponentManager.java      2001/02/28 17:40:25     1.1.2.22
  @@ -41,7 +41,7 @@
   
   /** Default component manager for Cocoon's non sitemap components.
    * @author <a href="mailto:[EMAIL PROTECTED]">Paul Russell</a>
  - * @version CVS $Revision: 1.1.2.21 $ $Date: 2001/02/22 17:10:20 $
  + * @version CVS $Revision: 1.1.2.22 $ $Date: 2001/02/28 17:40:25 $
    */
   public class DefaultComponentManager implements ComponentManager, Loggable, 
Configurable, Contextualizable {
   
  @@ -266,7 +266,7 @@
                   ComponentFactory cf = new ComponentFactory(componentClass, 
(Configuration)configurations.get(role), this, this.context);
                   cf.setLogger(this.log);
   
  -                pool = new ComponentPool(cf, new ComponentPoolController());
  +                pool = new ComponentPool(cf);
                   pool.setLogger(this.log);
                   pool.init();
               } catch (Exception e) {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.9   +6 -44     
xml-cocoon/src/org/apache/cocoon/util/Attic/ComponentPool.java
  
  Index: ComponentPool.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon/src/org/apache/cocoon/util/Attic/ComponentPool.java,v
  retrieving revision 1.1.2.8
  retrieving revision 1.1.2.9
  diff -u -r1.1.2.8 -r1.1.2.9
  --- ComponentPool.java        2001/02/28 14:11:06     1.1.2.8
  +++ ComponentPool.java        2001/02/28 17:40:29     1.1.2.9
  @@ -10,7 +10,7 @@
   import org.apache.avalon.Poolable;
   import org.apache.avalon.ThreadSafe;
   import org.apache.avalon.Loggable;
  -import org.apache.avalon.util.pool.AbstractPool;
  +import org.apache.avalon.util.pool.ThreadSafePool;
   import org.apache.avalon.util.pool.ObjectFactory;
   import org.apache.avalon.util.pool.PoolController;
   import org.apache.cocoon.ComponentFactory;
  @@ -23,68 +23,30 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a>
    */
  -public class ComponentPool extends AbstractPool implements ThreadSafe, 
Loggable {
  +public class ComponentPool extends ThreadSafePool implements ThreadSafe, 
Loggable {
   
       public final static int DEFAULT_POOL_SIZE = 8;
   
       private Logger log;
   
  -    public ComponentPool(final ObjectFactory factory,
  -                         final PoolController controller) throws Exception {
  -        super(factory, controller, DEFAULT_POOL_SIZE/2, DEFAULT_POOL_SIZE);
  +    public ComponentPool(final ObjectFactory factory) throws Exception {
  +        super(factory, DEFAULT_POOL_SIZE/2, DEFAULT_POOL_SIZE);
       }
   
       public ComponentPool(final ObjectFactory factory,
  -                         final PoolController controller,
                            final int initial) throws Exception {
  -        super(factory, controller, initial, initial);
  +        super(factory, initial, initial);
       }
   
       public ComponentPool(final ObjectFactory factory,
  -                         final PoolController controller,
                            final int initial,
                            final int maximum) throws Exception {
  -        super(factory, controller, initial, maximum);
  +        super(factory, initial, maximum);
       }
   
       public void setLogger(Logger log) {
           if (this.log == null) {
               this.log = log;
  -        }
  -    }
  -
  -    /**
  -     * Retrieve an object from pool.
  -     *
  -     * @return an object from Pool
  -     */
  -    public synchronized final Poolable get() throws Exception {
  -        synchronized(this) {
  -            Poolable component = super.get();
  -            log.debug(
  -                (new StringBuffer("ComponentPool retrieved "))
  -                .append(component.getClass().getName())
  -                .append(" (").append(component.toString()).append(")")
  -                .toString()
  -            );
  -            return component;
  -        }
  -    }
  -
  -    /**
  -     * Place an object in pool.
  -     *
  -     * @param poolable the object to be placed in pool
  -     */
  -    public synchronized final void put(final Poolable poolable) {
  -        synchronized(this) {
  -            super.put(poolable);
  -            log.debug(
  -                (new StringBuffer("ComponentPool returned "))
  -                .append(poolable.getClass().getName())
  -                .append(" (").append(poolable.toString()).append(")")
  -                .toString()
  -            );
           }
       }
   }
  
  
  

Reply via email to