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]