JAMES-1950 Move DeliveryRunnable time measurement after dequeue operation

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

Branch: refs/heads/master
Commit: c8d7d02c917fc86eb0f3ac014f511d6dd7b9cd46
Parents: 486832a
Author: benwa <btell...@linagora.com>
Authored: Mon Mar 20 08:06:40 2017 +0700
Committer: benwa <btell...@linagora.com>
Committed: Tue Mar 21 07:51:54 2017 +0700

----------------------------------------------------------------------
 .../transport/mailets/remoteDelivery/DeliveryRunnable.java    | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/c8d7d02c/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
index b34f3af..150d089 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
@@ -93,12 +93,13 @@ public class DeliveryRunnable implements Runnable {
     }
 
     private void runStep() {
-        TimeMetric timeMetric = metricFactory.timer(REMOTE_DELIVERY_TRIAL);
+        TimeMetric timeMetric = null;
         try {
             // Get the 'mail' object that is ready for deliverying. If no 
message is
             // ready, the 'accept' will block until message is ready.
             // The amount of time to block is determined by the 'getWaitTime' 
method of the MultipleDelayFilter.
             MailQueue.MailQueueItem queueItem = queue.deQueue();
+            timeMetric = metricFactory.timer(REMOTE_DELIVERY_TRIAL);
             Mail mail = queueItem.getMail();
 
             try {
@@ -124,7 +125,9 @@ public class DeliveryRunnable implements Runnable {
                 logger.error("Exception caught in RemoteDelivery.run()", e);
             }
         } finally {
-            timeMetric.stopAndPublish();
+            if (timeMetric != null) {
+                timeMetric.stopAndPublish();
+            }
         }
     }
 


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

Reply via email to