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 ad...@apache.org on 2016/07/08 14:46:38 UTC

[3/5] james-project git commit: JAMES-1790 stop logging errors when stopping MailQueue

JAMES-1790 stop logging errors when stopping MailQueue


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2a7c50f5
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2a7c50f5
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2a7c50f5

Branch: refs/heads/master
Commit: 2a7c50f5f40ed43ff0e6fcef5faa1fcf097e3ca6
Parents: 1c294dd
Author: Matthieu Baechler <ma...@linagora.com>
Authored: Mon Jul 4 11:34:23 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Fri Jul 8 14:24:55 2016 +0200

----------------------------------------------------------------------
 .../modules/server/MemoryMailQueueFactory.java  | 11 +++-------
 .../mailetcontainer/impl/JamesMailSpooler.java  | 21 ++++++++++----------
 .../org/apache/james/queue/api/MailQueue.java   |  4 +---
 3 files changed, 15 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/2a7c50f5/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueFactory.java b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueFactory.java
index 75466e4..c1f92b1 100644
--- a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueFactory.java
+++ b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueFactory.java
@@ -33,7 +33,6 @@ import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
 import org.apache.mailet.Mail;
 
 import com.google.common.base.Objects;
-import com.google.common.base.Throwables;
 import com.google.inject.Inject;
 
 public class MemoryMailQueueFactory implements MailQueueFactory {
@@ -86,14 +85,10 @@ public class MemoryMailQueueFactory implements MailQueueFactory {
         }
 
         @Override
-        public MailQueueItem deQueue() throws MailQueueException {
+        public MailQueueItem deQueue() throws MailQueueException, InterruptedException {
             while (true) {
-                try {
-                    MemoryMailQueueItem item = mailItems.take();
-                    return mailQueueItemDecoratorFactory.decorate(item);
-                } catch (InterruptedException e) {
-                    Throwables.propagate(e);
-                }
+                MemoryMailQueueItem item = mailItems.take();
+                return mailQueueItemDecoratorFactory.decorate(item);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/2a7c50f5/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
index ccfed91..f2c3e47 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
@@ -19,6 +19,14 @@
 
 package org.apache.james.mailetcontainer.impl;
 
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.inject.Inject;
+
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.lifecycle.api.Configurable;
@@ -35,13 +43,6 @@ import org.apache.james.util.concurrent.JMXEnabledThreadPoolExecutor;
 import org.apache.mailet.Mail;
 import org.slf4j.Logger;
 
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.inject.Inject;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-
 /**
  * Manages the mail spool. This class is responsible for retrieving messages
  * from the spool, directing messages to the appropriate processor, and removing
@@ -192,11 +193,11 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Log
                     logger.error("Exception dequeue mail", e1);
 
                 }
+            } catch (InterruptedException interrupted) {
+                //MailSpooler is stopping
             }
         }
-        if (logger.isInfoEnabled()) {
-            logger.info("Stop " + getClass().getName() + ": " + Thread.currentThread().getName());
-        }
+        logger.info("Stop {} : {}", getClass().getName(), Thread.currentThread().getName());
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/2a7c50f5/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 ca82525..67c9282 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
@@ -86,10 +86,8 @@ public interface MailQueue {
      * block until a Mail is ready and then process the operation.
      * Implementations should take care todo some kind of transactions to not
      * loose any mail on error
-     * 
-     * @throws MailQueueException
      */
-    MailQueueItem deQueue() throws MailQueueException;
+    MailQueueItem deQueue() throws MailQueueException, InterruptedException;
 
     /**
      * Exception which will get thrown if any problems occur while working the


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org