You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by er...@apache.org on 2013/01/03 16:09:21 UTC
svn commit: r1428392 -
/james/server/trunk/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
Author: eric
Date: Thu Jan 3 15:09:20 2013
New Revision: 1428392
URL: http://svn.apache.org/viewvc?rev=1428392&view=rev
Log:
Fix issues in FileMailQueue, patch contributed by Eike Kettner (JAMES-1463)
Modified:
james/server/trunk/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
Modified: james/server/trunk/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
URL: http://svn.apache.org/viewvc/james/server/trunk/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java?rev=1428392&r1=1428391&r2=1428392&view=diff
==============================================================================
--- james/server/trunk/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java (original)
+++ james/server/trunk/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java Thu Jan 3 15:09:20 2013
@@ -41,13 +41,13 @@ import java.util.concurrent.atomic.Atomi
import javax.mail.MessagingException;
import javax.mail.util.SharedFileInputStream;
+import org.slf4j.Logger;
import org.apache.james.core.MimeMessageCopyOnWriteProxy;
import org.apache.james.core.MimeMessageSource;
import org.apache.james.lifecycle.api.Disposable;
import org.apache.james.lifecycle.api.LifecycleUtil;
import org.apache.james.queue.api.ManageableMailQueue;
import org.apache.mailet.Mail;
-import org.slf4j.Logger;
/**
* {@link ManageableMailQueue} implementation which use the fs to store {@link Mail}'s
@@ -171,7 +171,9 @@ public class FileMailQueue implements Ma
String name = queueDirName + "/" + i + "/" + key;
final FileItem item = new FileItem(name + OBJECT_EXTENSION, name + MSG_EXTENSION);
-
+ if (delay > 0) {
+ mail.setAttribute(NEXT_DELIVERY, System.currentTimeMillis() + unit.toMillis(delay));
+ }
foout = new FileOutputStream(item.getObjectFile());
oout = new ObjectOutputStream(foout);
oout.writeObject(mail);
@@ -186,8 +188,7 @@ public class FileMailQueue implements Ma
keyMappings.put(key, item);
if (delay > 0) {
- mail.setAttribute(NEXT_DELIVERY, System.currentTimeMillis() + unit.toMillis(delay));
- // The message should get delayed so schedule it for later
+ // The message should get delayed so schedule it for later
scheduler.schedule(new Runnable() {
@Override
@@ -286,6 +287,7 @@ public class FileMailQueue implements Ma
}
} else {
fitem.delete();
+ keyMappings.remove(key);
}
LifecycleUtil.dispose(mail);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org