JAMES-2289 MailQueue should return their name
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/9a6e2084 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/9a6e2084 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/9a6e2084 Branch: refs/heads/master Commit: 9a6e2084040e5ca7a121c7c5fdffa7414579b7b1 Parents: 318324a Author: benwa <[email protected]> Authored: Thu Jan 18 17:37:10 2018 +0700 Committer: benwa <[email protected]> Committed: Fri Jan 19 18:55:42 2018 +0700 ---------------------------------------------------------------------- .../mailets/remote/delivery/RemoteDeliveryTest.java | 11 +++++++++-- .../main/java/org/apache/james/queue/api/MailQueue.java | 2 ++ .../java/org/apache/james/queue/file/FileMailQueue.java | 9 ++++++++- .../java/org/apache/james/queue/jms/JMSMailQueue.java | 5 +++++ .../queue/library/AbstractMailQueueFactoryTest.java | 5 +++++ .../james/queue/memory/MemoryMailQueueFactory.java | 7 ++++++- 6 files changed, 35 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/9a6e2084/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java index 7d76ebc..d21a338 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java @@ -53,12 +53,19 @@ public class RemoteDeliveryTest { private static class FakeMailQueue implements MailQueue { private final List<Mail> enqueuedMail; + private final String name; - private FakeMailQueue() { + private FakeMailQueue(String name) { + this.name = name; this.enqueuedMail = Lists.newArrayList(); } @Override + public String getMailQueueName() { + return name; + } + + @Override public void enQueue(Mail mail, long delay, TimeUnit unit) throws MailQueueException { enQueue(mail); } @@ -88,7 +95,7 @@ public class RemoteDeliveryTest { @Before public void setUp() { MailQueueFactory queueFactory = mock(MailQueueFactory.class); - mailQueue = new FakeMailQueue(); + mailQueue = new FakeMailQueue("any"); when(queueFactory.getQueue(RemoteDeliveryConfiguration.OUTGOING)).thenReturn(mailQueue); remoteDelivery = new RemoteDelivery(mock(DNSService.class), mock(DomainList.class), queueFactory, mock(MetricFactory.class), RemoteDelivery.ThreadState.DO_NOT_START_THREADS); } http://git-wip-us.apache.org/repos/asf/james-project/blob/9a6e2084/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueue.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueue.java b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueue.java index f78835f..cb88b9a 100644 --- a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueue.java +++ b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueue.java @@ -62,6 +62,8 @@ public interface MailQueue { */ int NO_DELAY = -1; + String getMailQueueName(); + /** * Enqueue the Mail to the queue. The given delay and unit are used to * calculate the time when the Mail will be available for deQueue http://git-wip-us.apache.org/repos/asf/james-project/blob/9a6e2084/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java index c971d6f..373e8cf 100644 --- a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java +++ b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java @@ -75,15 +75,22 @@ public class FileMailQueue implements ManageableMailQueue { private static final String NEXT_DELIVERY = "FileQueueNextDelivery"; private static final int SPLITCOUNT = 10; private static final SecureRandom RANDOM = new SecureRandom(); + private final String queueName; public FileMailQueue(MailQueueItemDecoratorFactory mailQueueItemDecoratorFactory, File parentDir, String queuename, boolean sync) throws IOException { this.mailQueueItemDecoratorFactory = mailQueueItemDecoratorFactory; this.sync = sync; - this.queueDir = new File(parentDir, queuename); + this.queueName = queuename; + this.queueDir = new File(parentDir, queueName); this.queueDirName = queueDir.getAbsolutePath(); init(); } + @Override + public String getMailQueueName() { + return queueName; + } + private void init() throws IOException { for (int i = 1; i <= SPLITCOUNT; i++) { http://git-wip-us.apache.org/repos/asf/james-project/blob/9a6e2084/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java index 2352bc5..1583c85 100644 --- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java +++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java @@ -151,6 +151,11 @@ public class JMSMailQueue implements ManageableMailQueue, JMSSupport, MailPriori this.mailQueueSize = metricFactory.generate("mailQueueSize:" + queueName); } + @Override + public String getMailQueueName() { + return queueName; + } + /** * <p> * Dequeues a mail when it is ready to process. As JMS does not support delay scheduling out-of-the box, http://git-wip-us.apache.org/repos/asf/james-project/blob/9a6e2084/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java b/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java index 90356ea..2737e81 100644 --- a/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java +++ b/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java @@ -54,6 +54,11 @@ public class AbstractMailQueueFactoryTest { return new ManageableMailQueue() { @Override + public String getMailQueueName() { + return "name"; + } + + @Override public void enQueue(Mail mail, long delay, TimeUnit unit) throws MailQueueException { } http://git-wip-us.apache.org/repos/asf/james-project/blob/9a6e2084/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java b/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java index 214e1d3..95266d5 100644 --- a/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java +++ b/server/queue/queue-memory/src/main/java/org/apache/james/queue/memory/MemoryMailQueueFactory.java @@ -73,7 +73,7 @@ public class MemoryMailQueueFactory implements MailQueueFactory { private final MailQueueItemDecoratorFactory mailQueueItemDecoratorFactory; private final String name; - public MemoryMailQueue(String name,MailQueueItemDecoratorFactory mailQueueItemDecoratorFactory) { + public MemoryMailQueue(String name, MailQueueItemDecoratorFactory mailQueueItemDecoratorFactory) { this.mailItems = new LinkedBlockingDeque<>(); this.inProcessingMailItems = new LinkedBlockingDeque<>(); this.name = name; @@ -81,6 +81,11 @@ public class MemoryMailQueueFactory implements MailQueueFactory { } @Override + public String getMailQueueName() { + return name; + } + + @Override public void enQueue(Mail mail, long delay, TimeUnit unit) throws MailQueueException { enQueue(mail); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
