Author: bago
Date: Fri May 12 17:35:20 2006
New Revision: 405961
URL: http://svn.apache.org/viewcvs?rev=405961&view=rev
Log:
Added ContainerUtil.dospose(mail) in every place we retrieve mails from
repository and we know we don't need it anymore. I don't like to use
finalizers: if we have bugs this change should put them in greater evidence.
Modified:
james/server/trunk/src/java/org/apache/james/pop3server/POP3Handler.java
james/server/trunk/src/java/org/apache/james/transport/JamesSpoolManager.java
james/server/trunk/src/java/org/apache/james/transport/LinearProcessor.java
james/server/trunk/src/java/org/apache/james/transport/mailets/FromRepository.java
james/server/trunk/src/java/org/apache/james/transport/matchers/AbstractStorageQuota.java
Modified:
james/server/trunk/src/java/org/apache/james/pop3server/POP3Handler.java
URL:
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/pop3server/POP3Handler.java?rev=405961&r1=405960&r2=405961&view=diff
==============================================================================
--- james/server/trunk/src/java/org/apache/james/pop3server/POP3Handler.java
(original)
+++ james/server/trunk/src/java/org/apache/james/pop3server/POP3Handler.java
Fri May 12 17:35:20 2006
@@ -17,6 +17,7 @@
package org.apache.james.pop3server;
+import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.james.Constants;
import org.apache.james.core.AbstractJamesHandler;
import org.apache.james.core.MailImpl;
@@ -280,6 +281,10 @@
authenticatedUser = null;
userInbox = null;
if (userMailbox != null) {
+ Iterator i = userMailbox.iterator();
+ while (i.hasNext()) {
+ ContainerUtil.dispose(i.next());
+ }
userMailbox.clear();
userMailbox = null;
}
Modified:
james/server/trunk/src/java/org/apache/james/transport/JamesSpoolManager.java
URL:
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/transport/JamesSpoolManager.java?rev=405961&r1=405960&r2=405961&view=diff
==============================================================================
---
james/server/trunk/src/java/org/apache/james/transport/JamesSpoolManager.java
(original)
+++
james/server/trunk/src/java/org/apache/james/transport/JamesSpoolManager.java
Fri May 12 17:35:20 2006
@@ -213,6 +213,7 @@
// Do not notify: we simply updated the current mail
// and we are able to reprocess it now.
}
+ ContainerUtil.dispose(mail);
mail = null;
} catch (InterruptedException ie) {
getLogger().info("Interrupted JamesSpoolManager: " +
Thread.currentThread().getName());
Modified:
james/server/trunk/src/java/org/apache/james/transport/LinearProcessor.java
URL:
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/transport/LinearProcessor.java?rev=405961&r1=405960&r2=405961&view=diff
==============================================================================
--- james/server/trunk/src/java/org/apache/james/transport/LinearProcessor.java
(original)
+++ james/server/trunk/src/java/org/apache/james/transport/LinearProcessor.java
Fri May 12 17:35:20 2006
@@ -21,6 +21,7 @@
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
@@ -460,6 +461,7 @@
// The original mail will be "stored" by the caller.
if (originalMail != mail) {
spool.store(mail);
+ ContainerUtil.dispose(mail);
}
mail = null;
continue;
Modified:
james/server/trunk/src/java/org/apache/james/transport/mailets/FromRepository.java
URL:
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/transport/mailets/FromRepository.java?rev=405961&r1=405960&r2=405961&view=diff
==============================================================================
---
james/server/trunk/src/java/org/apache/james/transport/mailets/FromRepository.java
(original)
+++
james/server/trunk/src/java/org/apache/james/transport/mailets/FromRepository.java
Fri May 12 17:35:20 2006
@@ -19,6 +19,7 @@
import org.apache.avalon.cornerstone.services.store.Store;
import org.apache.avalon.framework.configuration.DefaultConfiguration;
+import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.james.Constants;
@@ -122,6 +123,7 @@
mail.setState(processor);
getMailetContext().sendMail(mail);
if (delete) processed.add(key);
+ ContainerUtil.dispose(mail);
}
} catch (MessagingException e) {
log((new StringBuffer(160).append("Unable to re-spool mail
").append(key).append(" from ").append(repositoryPath)).toString(), e);
Modified:
james/server/trunk/src/java/org/apache/james/transport/matchers/AbstractStorageQuota.java
URL:
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/transport/matchers/AbstractStorageQuota.java?rev=405961&r1=405960&r2=405961&view=diff
==============================================================================
---
james/server/trunk/src/java/org/apache/james/transport/matchers/AbstractStorageQuota.java
(original)
+++
james/server/trunk/src/java/org/apache/james/transport/matchers/AbstractStorageQuota.java
Fri May 12 17:35:20 2006
@@ -17,6 +17,7 @@
package org.apache.james.transport.matchers;
+import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.james.Constants;
@@ -102,6 +103,7 @@
// It could be deleted while we're looping.
log("Exception in getting message size: " + e.getMessage());
}
+ ContainerUtil.dispose(mc);
}
return size;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]