Author: danny
Date: Wed Jun 22 04:47:36 2005
New Revision: 191808

URL: http://svn.apache.org/viewcvs?rev=191808&view=rev
Log:
OOM is not caught, but it is the cause of the RuntimeException which _is_ 
caught.

Modified:
    
james/server/trunk/src/java/org/apache/james/mailrepository/AvalonMailRepository.java

Modified: 
james/server/trunk/src/java/org/apache/james/mailrepository/AvalonMailRepository.java
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/mailrepository/AvalonMailRepository.java?rev=191808&r1=191807&r2=191808&view=diff
==============================================================================
--- 
james/server/trunk/src/java/org/apache/james/mailrepository/AvalonMailRepository.java
 (original)
+++ 
james/server/trunk/src/java/org/apache/james/mailrepository/AvalonMailRepository.java
 Wed Jun 22 04:47:36 2005
@@ -333,22 +333,19 @@
             MailImpl mc = null;
             try {
                 mc = (MailImpl) or.get(key);
-            } catch(OutOfMemoryError oome){
-                StringBuffer exceptionBuffer =
-                    new StringBuffer(128)
-                            .append("Out of memory when retrieving mail, not 
deleting: ")
-                            .append(oome.toString());
-                getLogger().warn(exceptionBuffer.toString());
-                return null;
-            }
-            catch (RuntimeException re) {
-                StringBuffer exceptionBuffer =
-                    new StringBuffer(128)
-                            .append("Exception retrieving mail: ")
+            } 
+            catch (RuntimeException re){
+                StringBuffer exceptionBuffer = new StringBuffer(128);
+                if(re.getCause() instanceof Error){
+                    exceptionBuffer.append("Error when retrieving mail, not 
deleting: ")
+                            .append(re.toString());
+                }else{
+                    exceptionBuffer.append("Exception retrieving mail: ")
                             .append(re.toString())
                             .append(", so we're deleting it.");
+                    remove(key);
+                }
                 getLogger().warn(exceptionBuffer.toString());
-                remove(key);
                 return null;
             }
             MimeMessageAvalonSource source = new MimeMessageAvalonSource(sr, 
destination, key);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to