Author: norman
Date: Tue Mar 30 06:55:27 2010
New Revision: 929017
URL: http://svn.apache.org/viewvc?rev=929017&view=rev
Log:
Get sure we dispose the mail even on exception
Modified:
james/server/trunk/core-api/src/main/java/org/apache/james/lifecycle/LifecycleUtil.java
james/server/trunk/spoolmanager/src/main/java/org/apache/james/AbstractMailServer.java
Modified:
james/server/trunk/core-api/src/main/java/org/apache/james/lifecycle/LifecycleUtil.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/core-api/src/main/java/org/apache/james/lifecycle/LifecycleUtil.java?rev=929017&r1=929016&r2=929017&view=diff
==============================================================================
---
james/server/trunk/core-api/src/main/java/org/apache/james/lifecycle/LifecycleUtil.java
(original)
+++
james/server/trunk/core-api/src/main/java/org/apache/james/lifecycle/LifecycleUtil.java
Tue Mar 30 06:55:27 2010
@@ -22,7 +22,7 @@ package org.apache.james.lifecycle;
public class LifecycleUtil {
public static void dispose(Object obj) {
- if (obj instanceof Disposable) {
+ if (obj instanceof Disposable && obj != null) {
((Disposable) obj).dispose();
}
}
Modified:
james/server/trunk/spoolmanager/src/main/java/org/apache/james/AbstractMailServer.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/AbstractMailServer.java?rev=929017&r1=929016&r2=929017&view=diff
==============================================================================
---
james/server/trunk/spoolmanager/src/main/java/org/apache/james/AbstractMailServer.java
(original)
+++
james/server/trunk/spoolmanager/src/main/java/org/apache/james/AbstractMailServer.java
Tue Mar 30 06:55:27 2010
@@ -298,15 +298,17 @@ public abstract class AbstractMailServer
* @see org.apache.james.services.MailServer#sendMail(Mail)
*/
public void sendMail(Mail mail) throws MessagingException {
+ Mail newMail = null;
try {
- Mail newMail = new InMemoryMail(mail);
+ newMail = new InMemoryMail(mail);
producerTemplate.sendBody(getToUri(mail), ExchangePattern.InOnly,
newMail);
-
- LifecycleUtil.dispose(mail);
-
+
} catch (Exception e) {
logger.error("Error storing message: " + e.getMessage(),e);
throw new MessagingException("Exception spooling message: " +
e.getMessage(), e);
+ } finally {
+ LifecycleUtil.dispose(newMail);
+ LifecycleUtil.dispose(mail);
}
if (logger.isDebugEnabled()) {
StringBuffer logBuffer =
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]