Package org.eclipse.jetty.server
Class ConnectionLimit
- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.server.ConnectionLimit
-
- All Implemented Interfaces:
java.util.EventListener,Connection.Listener,SelectorManager.AcceptListener,LifeCycle
@ManagedObject public class ConnectionLimit extends AbstractLifeCycle implements Connection.Listener, 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 viaContainer.addBean(Object)Usage:
Server server = new Server(); server.addBean(new ConnectionLimit(5000,server)); ... server.start();
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.io.Connection.Listener
Connection.Listener.Adapter
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
-
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)Called after the accepted channel has been allocated anEndPointand associatedConnection, and after the onOpen notifications have been called on both endPoint and connection.voidonAcceptFailed(java.nio.channels.SelectableChannel channel, java.lang.Throwable cause)Called if the processing of the accepted channel fails prior to callingSelectorManager.AcceptListener.onAccepted(SelectableChannel).voidonAccepting(java.nio.channels.SelectableChannel channel)Called immediately after a new SelectableChannel is accepted, but before it has been submitted to theSelectorManager.voidonClosed(Connection connection)voidonOpened(Connection connection)voidsetIdleTimeout(long idleTimeout)voidsetMaxConnections(int max)protected voidunlimit()-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, setStopTimeout, start, stop, toString
-
-
-
-
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 classAbstractLifeCycle- Throws:
java.lang.Exception
-
doStop
protected void doStop() throws java.lang.Exception- Overrides:
doStopin classAbstractLifeCycle- 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)
Description copied from interface:SelectorManager.AcceptListenerCalled immediately after a new SelectableChannel is accepted, but before it has been submitted to theSelectorManager.- Specified by:
onAcceptingin interfaceSelectorManager.AcceptListener- Parameters:
channel- the accepted channel
-
onAcceptFailed
public void onAcceptFailed(java.nio.channels.SelectableChannel channel, java.lang.Throwable cause)Description copied from interface:SelectorManager.AcceptListenerCalled if the processing of the accepted channel fails prior to callingSelectorManager.AcceptListener.onAccepted(SelectableChannel).- Specified by:
onAcceptFailedin interfaceSelectorManager.AcceptListener- Parameters:
channel- the accepted channelcause- the cause of the failure
-
onAccepted
public void onAccepted(java.nio.channels.SelectableChannel channel)
Description copied from interface:SelectorManager.AcceptListenerCalled after the accepted channel has been allocated anEndPointand associatedConnection, and after the onOpen notifications have been called on both endPoint and connection.- Specified by:
onAcceptedin interfaceSelectorManager.AcceptListener- Parameters:
channel- the accepted channel
-
onOpened
public void onOpened(Connection connection)
- Specified by:
onOpenedin interfaceConnection.Listener
-
onClosed
public void onClosed(Connection connection)
- Specified by:
onClosedin interfaceConnection.Listener
-
-