Fixes #2828 - AbstractHTTP2ServerConnectionFactory concurrent connect low performance.

Improved JMX for the HTTP2SessionContainer.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
This commit is contained in:
Simone Bordet 2018-08-21 21:55:29 +02:00
parent d3e75c5936
commit 97a2f3bdf2
1 changed files with 8 additions and 1 deletions

View File

@ -252,7 +252,8 @@ public abstract class AbstractHTTP2ServerConnectionFactory extends AbstractConne
return new ServerParser(connector.getByteBufferPool(), listener, getMaxDynamicTableSize(), getHttpConfiguration().getRequestHeaderSize()); 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<Session> sessions = ConcurrentHashMap.newKeySet(); private final Set<Session> sessions = ConcurrentHashMap.newKeySet();
@ -272,6 +273,12 @@ public abstract class AbstractHTTP2ServerConnectionFactory extends AbstractConne
LifeCycle.stop(session); LifeCycle.stop(session);
} }
@ManagedAttribute(value = "The number of HTTP/2 sessions", readonly = true)
public int getSize()
{
return sessions.size();
}
@Override @Override
public String dump() public String dump()
{ {