- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.server.ConnectionLimit
-
- All Implemented Interfaces:
java.util.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.AcceptListenerA 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 viaContainer.addBean(Object)Usage:
Server server = new Server(); server.addBean(new ConnectionLimit(5000,server)); ... server.start();
- See Also:
LowResourceMonitor,Connection.Listener,SelectorManager.AcceptListener
-
-
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
-
-
Constructor Summary
Constructors Constructor Description ConnectionLimit(int maxConnections, Connector... connectors)ConnectionLimit(int maxConnections, Server server)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcheck()protected voiddoStart()protected voiddoStop()intgetConnections()longgetIdleTimeout()intgetMaxConnections()protected voidlimit()voidonAccepted(java.nio.channels.SelectableChannel channel)voidonAcceptFailed(java.nio.channels.SelectableChannel channel, java.lang.Throwable cause)voidonAccepting(java.nio.channels.SelectableChannel channel)voidonClosed(org.eclipse.jetty.io.Connection connection)voidonOpened(org.eclipse.jetty.io.Connection connection)voidsetIdleTimeout(long idleTimeout)voidsetMaxConnections(int max)protected voidunlimit()
-
-
-
Method Detail
-
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
protected void doStart() throws java.lang.Exception- Overrides:
doStartin classorg.eclipse.jetty.util.component.AbstractLifeCycle- Throws:
java.lang.Exception
-
doStop
protected void doStop() throws java.lang.Exception- Overrides:
doStopin classorg.eclipse.jetty.util.component.AbstractLifeCycle- Throws:
java.lang.Exception
-
check
protected void check()
-
limit
protected void limit()
-
unlimit
protected void unlimit()
-
onAccepting
public void onAccepting(java.nio.channels.SelectableChannel channel)
- Specified by:
onAcceptingin interfaceorg.eclipse.jetty.io.SelectorManager.AcceptListener
-
onAcceptFailed
public void onAcceptFailed(java.nio.channels.SelectableChannel channel, java.lang.Throwable cause)- Specified by:
onAcceptFailedin interfaceorg.eclipse.jetty.io.SelectorManager.AcceptListener
-
onAccepted
public void onAccepted(java.nio.channels.SelectableChannel channel)
- 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
-
-