Class LoadControlFilter

java.lang.Object
org.codelibs.fess.filter.LoadControlFilter
All Implemented Interfaces:
jakarta.servlet.Filter

public class LoadControlFilter extends Object implements jakarta.servlet.Filter
Filter for CPU load-based request control. Returns HTTP 429 (Too Many Requests) when CPU usage exceeds configurable thresholds. Web and API requests have independent threshold settings.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new instance of LoadControlFilter.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    doFilter(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain)
     
    protected boolean
    Checks if the given path should be excluded from load control.
    protected void
    sendApiResponse(jakarta.servlet.http.HttpServletResponse response)
    Sends a 429 JSON response for API requests.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface jakarta.servlet.Filter

    destroy, init
  • Constructor Details

    • LoadControlFilter

      public LoadControlFilter()
      Creates a new instance of LoadControlFilter.
  • Method Details

    • doFilter

      public void doFilter(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain) throws IOException, jakarta.servlet.ServletException
      Specified by:
      doFilter in interface jakarta.servlet.Filter
      Throws:
      IOException
      jakarta.servlet.ServletException
    • isExcludedPath

      protected boolean isExcludedPath(String path)
      Checks if the given path should be excluded from load control.
      Parameters:
      path - the request path
      Returns:
      true if the path should be excluded
    • sendApiResponse

      protected void sendApiResponse(jakarta.servlet.http.HttpServletResponse response) throws IOException
      Sends a 429 JSON response for API requests.
      Parameters:
      response - the HTTP response
      Throws:
      IOException - if an I/O error occurs