From 97a2f3bdf28aaafc507d9fda5972acba0dbefe2c Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Tue, 21 Aug 2018 21:55:29 +0200 Subject: [PATCH] Fixes #2828 - AbstractHTTP2ServerConnectionFactory concurrent connect low performance. Improved JMX for the HTTP2SessionContainer. Signed-off-by: Simone Bordet --- .../server/AbstractHTTP2ServerConnectionFactory.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/AbstractHTTP2ServerConnectionFactory.java b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/AbstractHTTP2ServerConnectionFactory.java index e924cb6f66f..b191bacddee 100644 --- a/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/AbstractHTTP2ServerConnectionFactory.java +++ b/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server/AbstractHTTP2ServerConnectionFactory.java @@ -252,7 +252,8 @@ public abstract class AbstractHTTP2ServerConnectionFactory extends AbstractConne return new ServerParser(connector.getByteBufferPool(), listener, getMaxDynamicTableSize(), getHttpConfiguration().getRequestHeaderSize()); } - private class HTTP2SessionContainer implements Connection.Listener, Dumpable + @ManagedObject("The container of HTTP/2 sessions") + public static class HTTP2SessionContainer implements Connection.Listener, Dumpable { private final Set sessions = ConcurrentHashMap.newKeySet(); @@ -272,6 +273,12 @@ public abstract class AbstractHTTP2ServerConnectionFactory extends AbstractConne LifeCycle.stop(session); } + @ManagedAttribute(value = "The number of HTTP/2 sessions", readonly = true) + public int getSize() + { + return sessions.size(); + } + @Override public String dump() {