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