Class ConnectionLimit

java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.server.ConnectionLimit
All Implemented Interfaces:
EventListener, Connection.Listener, SelectorManager.AcceptListener, org.eclipse.jetty.util.component.LifeCycle

@ManagedObject public class ConnectionLimit extends org.eclipse.jetty.util.component.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 via Container.addBean(Object)

Usage:

   Server server = new Server();
   server.addBean(new ConnectionLimit(5000,server));
   ...
   server.start();
 
See Also:
  • Constructor Details

    • ConnectionLimit

      public ConnectionLimit(@Name("maxConnections") int maxConnections, @Name("server") Server server)
    • 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

      protected void doStart() throws Exception
      Overrides:
      doStart in class org.eclipse.jetty.util.component.AbstractLifeCycle
      Throws:
      Exception
    • doStop

      protected void doStop() throws Exception
      Overrides:
      doStop in class org.eclipse.jetty.util.component.AbstractLifeCycle
      Throws:
      Exception
    • check

      protected void check()
    • limit

      protected void limit()
    • unlimit

      protected void unlimit()
    • onAccepting

      public void onAccepting(SelectableChannel channel)
      Specified by:
      onAccepting in interface SelectorManager.AcceptListener
    • onAcceptFailed

      public void onAcceptFailed(SelectableChannel channel, Throwable cause)
      Specified by:
      onAcceptFailed in interface SelectorManager.AcceptListener
    • onAccepted

      public void onAccepted(SelectableChannel channel)
      Specified by:
      onAccepted in interface SelectorManager.AcceptListener
    • onOpened

      public void onOpened(Connection connection)
      Specified by:
      onOpened in interface Connection.Listener
    • onClosed

      public void onClosed(Connection connection)
      Specified by:
      onClosed in interface Connection.Listener