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]