This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git


The following commit(s) were added to refs/heads/master by this push:
     new 5add0ff  JAMES-3620 Memory leak at 
org.apache.james.protocols.smtp.core.AbstractHookableCmdHandler
5add0ff is described below

commit 5add0ff38fd2507b1d73e2d84d299b2df2915415
Author: Benoit Tellier <[email protected]>
AuthorDate: Fri Jul 30 10:34:28 2021 +0700

    JAMES-3620 Memory leak at 
org.apache.james.protocols.smtp.core.AbstractHookableCmdHandler
---
 .../james/protocols/smtp/core/AbstractHookableCmdHandler.java      | 7 +++++--
 .../org/apache/james/protocols/smtp/core/UnknownCmdHandler.java    | 7 +++++++
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git 
a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java
 
b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java
index 9c2ce2a..675615d 100644
--- 
a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java
+++ 
b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java
@@ -50,7 +50,7 @@ import org.slf4j.LoggerFactory;
 public abstract class AbstractHookableCmdHandler<HookT extends 
org.apache.james.protocols.smtp.hook.Hook> implements 
CommandHandler<SMTPSession>, ExtensibleHandler {
     private static final Logger LOGGER = 
LoggerFactory.getLogger(AbstractHookableCmdHandler.class);
 
-    private final MetricFactory metricFactory;
+    protected final MetricFactory metricFactory;
     private List<HookT> hooks;
     private List<HookResultHook> rHooks;
 
@@ -61,7 +61,7 @@ public abstract class AbstractHookableCmdHandler<HookT 
extends org.apache.james.
 
     @Override
     public Response onCommand(SMTPSession session, Request request) {
-        TimeMetric timeMetric = metricFactory.timer("SMTP-" + 
request.getCommand().toLowerCase(Locale.US));
+        TimeMetric timeMetric = timer(request);
         String command = request.getCommand();
         String parameters = request.getArgument();
 
@@ -86,7 +86,10 @@ public abstract class AbstractHookableCmdHandler<HookT 
extends org.apache.james.
         } finally {
             timeMetric.stopAndPublish();
         }
+    }
 
+    protected TimeMetric timer(Request request) {
+        return metricFactory.timer("SMTP-" + 
request.getCommand().toLowerCase(Locale.US));
     }
 
     /**
diff --git 
a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/UnknownCmdHandler.java
 
b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/UnknownCmdHandler.java
index f50e03b..bbb7b7e 100644
--- 
a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/UnknownCmdHandler.java
+++ 
b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/UnknownCmdHandler.java
@@ -26,8 +26,10 @@ import java.util.Collection;
 import javax.inject.Inject;
 
 import org.apache.james.metrics.api.MetricFactory;
+import org.apache.james.metrics.api.TimeMetric;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.ProtocolSession.State;
+import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.UnknownCommandHandler;
 import org.apache.james.protocols.smtp.SMTPResponse;
@@ -83,4 +85,9 @@ public class UnknownCmdHandler extends 
AbstractHookableCmdHandler<UnknownHook> {
     protected Class<UnknownHook> getHookInterface() {
         return UnknownHook.class;
     }
+
+    @Override
+    protected TimeMetric timer(Request request) {
+        return metricFactory.timer("SMTP-unknown");
+    }
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to