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.StopExceptionNested classes/interfaces inherited from interface org.eclipse.jetty.io.Connection.Listener
org.eclipse.jetty.io.Connection.Listener.AdapterNested 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 voidcheck()protected voiddoStart()protected voiddoStop()intlongintprotected voidlimit()voidonAccepted(SelectableChannel channel) voidonAcceptFailed(SelectableChannel channel, Throwable cause) voidonAccepting(SelectableChannel channel) voidonClosed(org.eclipse.jetty.io.Connection connection) voidonOpened(org.eclipse.jetty.io.Connection connection) voidsetIdleTimeout(long idleTimeout) voidsetMaxConnections(int max) protected voidunlimit()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:
doStartin classorg.eclipse.jetty.util.component.AbstractLifeCycle- Throws:
Exception
-
doStop
- Overrides:
doStopin classorg.eclipse.jetty.util.component.AbstractLifeCycle- Throws:
Exception
-
check
protected void check() -
limit
protected void limit() -
unlimit
protected void unlimit() -
onAccepting
- Specified by:
onAcceptingin interfaceorg.eclipse.jetty.io.SelectorManager.AcceptListener
-
onAcceptFailed
- Specified by:
onAcceptFailedin interfaceorg.eclipse.jetty.io.SelectorManager.AcceptListener
-
onAccepted
- Specified by:
onAcceptedin interfaceorg.eclipse.jetty.io.SelectorManager.AcceptListener
-
onOpened
public void onOpened(org.eclipse.jetty.io.Connection connection) - Specified by:
onOpenedin interfaceorg.eclipse.jetty.io.Connection.Listener
-
onClosed
public void onClosed(org.eclipse.jetty.io.Connection connection) - Specified by:
onClosedin interfaceorg.eclipse.jetty.io.Connection.Listener
-