java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.server.ConnectionLimit
- All Implemented Interfaces:
EventListener
,org.eclipse.jetty.io.Connection.Listener
,org.eclipse.jetty.io.SelectorManager.AcceptListener
,org.eclipse.jetty.io.SelectorManager.SelectorManagerListener
,org.eclipse.jetty.util.component.LifeCycle
@ManagedObject
public class ConnectionLimit
extends org.eclipse.jetty.util.component.AbstractLifeCycle
implements org.eclipse.jetty.io.Connection.Listener, org.eclipse.jetty.io.SelectorManager.AcceptListener
A Listener that limits the number of Connections.
This listener applies a limit to the number of connections, which when
exceeded results in a call to AbstractConnector.setAccepting(boolean)
to prevent further connections being received. It can be applied to an
entire server or to a specific connector by adding it via Container.addBean(Object)
Usage:
Server server = new Server(); server.addBean(new ConnectionLimit(5000,server)); ... server.start();
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener, org.eclipse.jetty.util.component.AbstractLifeCycle.StopException
Nested classes/interfaces inherited from interface org.eclipse.jetty.io.Connection.Listener
org.eclipse.jetty.io.Connection.Listener.Adapter
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
org.eclipse.jetty.util.component.LifeCycle.Listener
-
Field Summary
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, STARTED, STARTING, STOPPED, STOPPING
-
Constructor Summary
ConstructorsConstructorDescriptionConnectionLimit
(int maxConnections, Connector... connectors) ConnectionLimit
(int maxConnections, Server server) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
check()
protected void
doStart()
protected void
doStop()
int
long
int
protected void
limit()
void
onAccepted
(SelectableChannel channel) void
onAcceptFailed
(SelectableChannel channel, Throwable cause) void
onAccepting
(SelectableChannel channel) void
onClosed
(org.eclipse.jetty.io.Connection connection) void
onOpened
(org.eclipse.jetty.io.Connection connection) void
setIdleTimeout
(long idleTimeout) void
setMaxConnections
(int max) protected void
unlimit()
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addEventListener, getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeEventListener, setEventListeners, start, stop, toString
-
Constructor Details
-
ConnectionLimit
-
ConnectionLimit
public ConnectionLimit(@Name("maxConnections") int maxConnections, @Name("connectors") Connector... connectors)
-
-
Method Details
-
getIdleTimeout
@ManagedAttribute("The endpoint idle timeout in ms to apply when the connection limit is reached") public long getIdleTimeout()- Returns:
- If >= 0, the endpoint idle timeout in ms to apply when the connection limit is reached
-
setIdleTimeout
public void setIdleTimeout(long idleTimeout) - Parameters:
idleTimeout
- If >= 0 the endpoint idle timeout in ms to apply when the connection limit is reached
-
getMaxConnections
@ManagedAttribute("The maximum number of connections allowed") public int getMaxConnections() -
setMaxConnections
public void setMaxConnections(int max) -
getConnections
@ManagedAttribute("The current number of connections ") public int getConnections() -
doStart
- Overrides:
doStart
in classorg.eclipse.jetty.util.component.AbstractLifeCycle
- Throws:
Exception
-
doStop
- Overrides:
doStop
in classorg.eclipse.jetty.util.component.AbstractLifeCycle
- Throws:
Exception
-
check
protected void check() -
limit
protected void limit() -
unlimit
protected void unlimit() -
onAccepting
- Specified by:
onAccepting
in interfaceorg.eclipse.jetty.io.SelectorManager.AcceptListener
-
onAcceptFailed
- Specified by:
onAcceptFailed
in interfaceorg.eclipse.jetty.io.SelectorManager.AcceptListener
-
onAccepted
- Specified by:
onAccepted
in interfaceorg.eclipse.jetty.io.SelectorManager.AcceptListener
-
onOpened
public void onOpened(org.eclipse.jetty.io.Connection connection) - Specified by:
onOpened
in interfaceorg.eclipse.jetty.io.Connection.Listener
-
onClosed
public void onClosed(org.eclipse.jetty.io.Connection connection) - Specified by:
onClosed
in interfaceorg.eclipse.jetty.io.Connection.Listener
-