prussell    00/12/02 05:40:05

  Modified:    src/org/apache/cocoon Tag: xml-cocoon2 ComponentFactory.java
                        DefaultComponentManager.java
  Log:
  Added debug logging to component managment framework so we can
  make sure pooling etc is working effectively.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.4   +10 -1     
xml-cocoon/src/org/apache/cocoon/Attic/ComponentFactory.java
  
  Index: ComponentFactory.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon/src/org/apache/cocoon/Attic/ComponentFactory.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -r1.1.2.3 -r1.1.2.4
  --- ComponentFactory.java     2000/11/26 21:48:01     1.1.2.3
  +++ ComponentFactory.java     2000/12/02 13:40:05     1.1.2.4
  @@ -17,11 +17,16 @@
   import org.apache.avalon.Composer;
   import org.apache.avalon.ThreadSafe;
   
  +import org.apache.log.Logger;
  +import org.apache.log.LogKit;
  +
   /** Factory for Cocoon components.
    * @author <a href="mailto:[EMAIL PROTECTED]">Paul Russell</a>
  - * @version CVS $Revision: 1.1.2.3 $ $Date: 2000/11/26 21:48:01 $
  + * @version CVS $Revision: 1.1.2.4 $ $Date: 2000/12/02 13:40:05 $
    */
   public class ComponentFactory implements ObjectFactory, ThreadSafe {
  +    private Logger log = LogKit.getLoggerFor("cocoon");
  +     
        /** The class which this <code>ComponentFactory</code>
         * should create.
         */
  @@ -48,6 +53,10 @@
   
        public Poolable newInstance() throws Exception {
                Poolable comp = (Poolable)componentClass.newInstance();
  +
  +        log.debug("ComponentFactory creating new instance of "
  +            + componentClass.getName() + "."
  +        );
                
                if ( comp instanceof Configurable ) {
                        ((Configurable)comp).configure(this.conf);
  
  
  
  1.1.2.7   +13 -1     
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.6
  retrieving revision 1.1.2.7
  diff -u -r1.1.2.6 -r1.1.2.7
  --- DefaultComponentManager.java      2000/11/30 21:40:32     1.1.2.6
  +++ DefaultComponentManager.java      2000/12/02 13:40:05     1.1.2.7
  @@ -35,7 +35,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.6 $ $Date: 2000/11/30 21:40:32 $
  + * @version CVS $Revision: 1.1.2.7 $ $Date: 2000/12/02 13:40:05 $
    */
   public class DefaultComponentManager implements ComponentManager {
   
  @@ -94,6 +94,7 @@
                   throw new ComponentNotFoundException("Could not find 
component for role '" + role + "'.");
               } else {
                   // we found an individual instance of a component.
  +                             log.debug("DefaultComponentManager returned 
instance for role " + role + ".");
                   return component;
               }
           }
  @@ -108,11 +109,18 @@
   
           // Work out what class of component we're dealing with.
           if ( ThreadSafe.class.isAssignableFrom(componentClass) ) {
  +                     log.debug("DefaultComponentManager using threadsafe 
instance of " + componentClass.getName() + " for role " + role + ".");
               component = getThreadsafeComponent(componentClass);
           } else if ( Poolable.class.isAssignableFrom(componentClass) ) {
  +            log.debug("DefaultComponentManager using poolable instance of "
  +                + componentClass.getName() + " for role " + role + "."
  +            );
               component = getPooledComponent(componentClass);
           } else if ( SingleThreaded.class.isAssignableFrom(componentClass) ) {
               try {
  +                log.debug("DefaultComponentManager using new instance of 
single threaded component "
  +                    + componentClass.getName() + "for role " + role + "."
  +                );
                   component = (Component)componentClass.newInstance();
               } catch ( InstantiationException e ) {
                   log.error("Could not create new instance of SingleThreaded " 
+ role, e);
  @@ -133,6 +141,9 @@
                * classes, treat as normal.
                */
               try {
  +                log.debug("DefaultComponentManager using new instance of 
unmarked component "
  +                    + componentClass.getName() + " for role " + role + "."
  +                );
                   component = (Component)componentClass.newInstance();
               } catch ( InstantiationException e ) {
                   log.error("Could not create new instance of class " + 
componentClass.getName(), e);
  @@ -192,6 +203,7 @@
   
           if ( pool == null ) {
               try {
  +                log.debug("Creating new component pool for " + 
componentClass.getName() + ".");
                   pool = new ComponentPool(
                       new ComponentFactory(componentClass, 
(Configuration)configurations.get(componentClass), this),
                       new ComponentPoolController()
  
  
  

Reply via email to