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
 
 - 
 
 -