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;
}