Index: JamesSpoolManager.java
===================================================================
RCS file: /home/cvspublic/jakarta-james/src/java/org/apache/james/transport/JamesSpoolManager.java,v
retrieving revision 1.8
diff -u -r1.8 JamesSpoolManager.java
--- JamesSpoolManager.java	18 Jan 2002 02:48:37 -0000	1.8
+++ JamesSpoolManager.java	16 Feb 2002 02:06:28 -0000
@@ -30,6 +30,7 @@
 
 import javax.mail.MessagingException;
 import java.util.HashMap;
+import java.util.Iterator;
 
 /**
  * @author Serge Knystautas <sergek@lokitech.com>
@@ -142,9 +143,9 @@
                                            + matcherName + ": " + ex.toString(), ex );
                         System.err.println("Unable to init mailet " + matcherName);
                         System.err.println("Check spool manager logs for more details.");
-                        //ex.printStackTrace();
-                        System.exit(1);
-                        //throw ex;
+                        ex.printStackTrace();
+                        //System.exit(1);
+                        throw ex;
                     }
                     try {
                         mailet = mailetLoader.getMailet(mailetClassName,
@@ -157,9 +158,9 @@
                                           + mailetClassName + ": " + ex.getMessage());
                         System.err.println("Unable to init mailet " + mailetClassName);
                         System.err.println("Check spool manager logs for more details.");
-                        //ex.printStackTrace();
-                        System.exit(1);
-                        //throw ex;
+                        ex.printStackTrace();
+                        //System.exit(1);
+                        throw ex;
                     }
                     //Add this pair to the proces
                     processor.add(matcher, mailet);
@@ -263,5 +264,16 @@
         }
     }
 
-    public void dispose() {}
+    // Shutdown processors
+    public void dispose() {
+        getLogger().info("JamesSpoolManager dispose...");
+        Iterator it = processors.keySet().iterator();
+        while (it.hasNext()) {
+            String processorName = (String)it.next();
+            getLogger().debug("Processor " + processorName);
+            LinearProcessor processor = (LinearProcessor)processors.get(processorName);
+            processor.dispose();
+            processors.remove(processor);
+        }
+    }
 }
