You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2003/08/05 18:56:20 UTC

cvs commit: cocoon-2.1/src/java/org/apache/cocoon Cocoon.java

cziegeler    2003/08/05 09:56:20

  Modified:    src/java/org/apache/cocoon Cocoon.java
  Log:
  Make dispose a little bit "cleaner"
  
  Revision  Changes    Path
  1.11      +26 -11    cocoon-2.1/src/java/org/apache/cocoon/Cocoon.java
  
  Index: Cocoon.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/Cocoon.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Cocoon.java	6 Jul 2003 11:44:30 -0000	1.10
  +++ Cocoon.java	5 Aug 2003 16:56:20 -0000	1.11
  @@ -127,6 +127,8 @@
   
       private ThreadManager threads;
   
  +    private CommandManager commands;
  +    
       /** The application context */
       private Context context;
   
  @@ -195,8 +197,7 @@
               
               try {
                   DefaultContext setup = (DefaultContext)this.context;
  -                threads = new TPCThreadManager();
  -                CommandManager commands = new CommandManager();
  +                this.threads = new TPCThreadManager();
                   
                   Parameters params = new Parameters();
                   params.setParameter("threads-per-processor", "1");
  @@ -205,13 +206,15 @@
                   params.setParameter("force-shutdown", "false");
                   params.makeReadOnly();
                   
  -                ContainerUtil.enableLogging(threads, getLogger().getChildLogger("thread.manager"));
  -                ContainerUtil.parameterize(threads, params);
  -                ContainerUtil.initialize(threads);
  +                ContainerUtil.enableLogging(this.threads, getLogger().getChildLogger("thread.manager"));
  +                ContainerUtil.parameterize(this.threads, params);
  +                ContainerUtil.initialize(this.threads);
                   
  -                threads.register(commands);
  +                this.commands = new CommandManager();
  +                ContainerUtil.enableLogging(this.commands, getLogger().getChildLogger("thread.manager"));
  +                this.threads.register(this.commands);
                   
  -                setup.put(Queue.ROLE, commands.getCommandSink());
  +                setup.put(Queue.ROLE, this.commands.getCommandSink());
                   
                   setup.makeReadOnly();
               } catch (Exception e) {
  @@ -488,9 +491,21 @@
        * Dispose this instance
        */
       public void dispose() {
  -        this.componentManager.release(this.threadSafeProcessor);
  -        ContainerUtil.dispose(threads);
  -        ContainerUtil.dispose(this.componentManager);
  +        ContainerUtil.dispose(this.commands);
  +        this.commands = null;
  +        ContainerUtil.dispose(this.threads);
  +        this.threads = null;
  +        
  +        if ( this.componentManager != null ) {
  +            this.componentManager.release(this.threadSafeProcessor);
  +            this.threadSafeProcessor = null;
  +            
  +            ContainerUtil.dispose(this.componentManager);
  +            this.componentManager = null;
  +        }
  +        
  +        this.context = null;
  +        
           this.disposed = true;
       }