Author: norman Date: Thu Sep 15 20:00:14 2011 New Revision: 1171252 URL: http://svn.apache.org/viewvc?rev=1171252&view=rev Log: Add javadocs
Modified: james/server/trunk/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java james/server/trunk/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java Modified: james/server/trunk/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java URL: http://svn.apache.org/viewvc/james/server/trunk/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java?rev=1171252&r1=1171251&r2=1171252&view=diff ============================================================================== --- james/server/trunk/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java (original) +++ james/server/trunk/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java Thu Sep 15 20:00:14 2011 @@ -49,6 +49,9 @@ import org.slf4j.Logger; /** * {@link ManageableMailQueue} implementation which use the fs to store {@link Mail}'s * + * On create of the {@link FileMailQueue} the {@link #init()} will get called. This takes care of load the needed meta-data into memory for fast access. + * + * * TODO: Split emails in sub-directories to make it more efficient with huge queues * * @@ -162,6 +165,7 @@ public class FileMailQueue implements Ma keyMappings.put(key, item); if (delay > 0) { + // The message should get delayed so schedule it for later scheduler.schedule(new Runnable() { @Override @@ -178,6 +182,8 @@ public class FileMailQueue implements Ma } else { inmemoryQueue.put(key); } + + //TODO: Think about exception handling in detail } catch (FileNotFoundException e) { throw new MailQueueException("Unable to enqueue mail", e); } catch (IOException e) { @@ -217,6 +223,8 @@ public class FileMailQueue implements Ma private String getFileNameWithoutExtension(String parentdir, String name, long delay) { return parentdir + "/" + System.currentTimeMillis() + delay + "-" + name; } + + @Override public void enQueue(Mail mail) throws MailQueueException { enQueue(mail, 0, TimeUnit.MILLISECONDS); @@ -271,6 +279,8 @@ public class FileMailQueue implements Ma LifecycleUtil.dispose(mail); } }; + + // TODO: Think about exception handling in detail } catch (FileNotFoundException e) { throw new MailQueueException("Unable to dequeue", e); } catch (IOException e) { Modified: james/server/trunk/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java URL: http://svn.apache.org/viewvc/james/server/trunk/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java?rev=1171252&r1=1171251&r2=1171252&view=diff ============================================================================== --- james/server/trunk/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java (original) +++ james/server/trunk/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java Thu Sep 15 20:00:14 2011 @@ -46,6 +46,15 @@ public class FileMailQueueFactory implem public void setFileSystem(FileSystem fs) { this.fs = fs; } + + /** + * If <code>true</code> the later created {@link FileMailQueue} will call <code>fsync</code> after each message {@link FileMailQueue#enQueue(org.apache.mailet.Mail)} call. This + * is needed to be fully RFC conform but gives a performance penalty. If you are brave enough you man set it to <code>false</code> + * + * The default is <code>true</code> + * + * @param sync + */ public void setSync(boolean sync) { this.sync = sync; } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org