Author: remm Date: Tue Jun 10 07:32:14 2025 New Revision: 1926306 URL: http://svn.apache.org/viewvc?rev=1926306&view=rev Log: Docs update for 9.0.106
Added: tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/catalina/valves/ParameterLimitValve.html tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/tomcat/util/threads/RetryableQueue.html Removed: tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/tomcat/util/http/fileupload/util/mime/RFC2231Utility.html Added: tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/catalina/valves/ParameterLimitValve.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/catalina/valves/ParameterLimitValve.html?rev=1926306&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/catalina/valves/ParameterLimitValve.html (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/catalina/valves/ParameterLimitValve.html Tue Jun 10 07:32:14 2025 @@ -0,0 +1,423 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (24) --> +<title>ParameterLimitValve (Apache Tomcat 9.0.106 API Documentation)</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="description" content="declaration: package: org.apache.catalina.valves, class: ParameterLimitValve"> +<meta name="generator" content="javadoc/ClassWriter"> +<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css" title="Style"> +<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css" title="Style"> +<script type="text/javascript" src="../../../../script-files/script.js"></script> +<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script> +<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script> +</head> +<body class="class-declaration-page"> +<script type="text/javascript">const pathtoroot = "../../../../"; +loadScripts(document, 'script');</script> +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<header role="banner"> +<nav role="navigation"> +<!-- ========= START OF TOP NAVBAR ======= --> +<div class="top-nav" id="navbar-top"> +<div class="nav-content"> +<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span></button></div> +<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> +<ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> +<li><a href="../../../../index.html">Overview</a></li> +<li class="nav-bar-cell1-rev">Class</li> +<li><a href="package-tree.html">Tree</a></li> +<li><a href="../../../../deprecated-list.html">Deprecated</a></li> +<li><a href="../../../../index-all.html">Index</a></li> +<li><a href="../../../../search.html">Search</a></li> +<li><a href="../../../../help-doc.html#class">Help</a></li> +</ul> +<div class="about-language"><b>Apache Tomcat<sup>®</sup> 9.0.106</b></div> +</div> +</div> +<div class="sub-nav"> +<div class="nav-content"> +<ol class="sub-nav-list"> +<li><a href="package-summary.html">org.apache.catalina.valves</a></li> +<li><a href="ParameterLimitValve.html" class="current-selection">ParameterLimitValve</a></li> +</ol> +<div class="nav-list-search"> +<input type="text" id="search-input" disabled placeholder="Search" aria-label="Search in documentation" autocomplete="off"> +<input type="reset" id="reset-search" disabled value="Reset"> +</div> +</div> +</div> +<!-- ========= END OF TOP NAVBAR ========= --> +<span class="skip-nav" id="skip-navbar-top"></span></nav> +</header> +<div class="main-grid"> +<nav role="navigation" class="toc" aria-label="Table of contents"> +<div class="toc-header">Contents +<input type="text" class="filter-input" disabled placeholder="Filter" aria-label="Filter table of contents" autocomplete="off"> +<input type="reset" class="reset-filter" disabled value="Reset"> +</div> +<button class="hide-sidebar"><span>Hide sidebar </span>❮</button><button class="show-sidebar">❯<span> Show sidebar</span></button> +<ol class="toc-list"> +<li><a href="#" tabindex="0">Description</a></li> +<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li> +<li><a href="#field-summary" tabindex="0">Field Summary</a></li> +<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li> +<li><a href="#method-summary" tabindex="0">Method Summary</a></li> +<li><a href="#constructor-detail" tabindex="0">Constructor Details</a> +<ol class="toc-list"> +<li><a href="#%3Cinit%3E()" tabindex="0">ParameterLimitValve()</a></li> +</ol> +</li> +<li><a href="#method-detail" tabindex="0">Method Details</a> +<ol class="toc-list"> +<li><a href="#getResourcePath()" tabindex="0">getResourcePath()</a></li> +<li><a href="#setResourcePath(java.lang.String)" tabindex="0">setResourcePath(String)</a></li> +<li><a href="#initInternal()" tabindex="0">initInternal()</a></li> +<li><a href="#startInternal()" tabindex="0">startInternal()</a></li> +<li><a href="#setUrlPatternLimits(java.lang.String)" tabindex="0">setUrlPatternLimits(String)</a></li> +<li><a href="#setUrlPatternLimits(java.io.BufferedReader)" tabindex="0">setUrlPatternLimits(BufferedReader)</a></li> +<li><a href="#stopInternal()" tabindex="0">stopInternal()</a></li> +<li><a href="#invoke(org.apache.catalina.connector.Request,org.apache.catalina.connector.Response)" tabindex="0">invoke(Request, Response)</a></li> +</ol> +</li> +</ol> +</nav> +<main role="main"> +<!-- ======== START OF CLASS DATA ======== --> +<div class="header"> +<h1 title="Class ParameterLimitValve" class="title">Class ParameterLimitValve</h1> +</div> +<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a> +<div class="inheritance"><a href="../util/LifecycleBase.html" title="class in org.apache.catalina.util">org.apache.catalina.util.LifecycleBase</a> +<div class="inheritance"><a href="../util/LifecycleMBeanBase.html" title="class in org.apache.catalina.util">org.apache.catalina.util.LifecycleMBeanBase</a> +<div class="inheritance"><a href="ValveBase.html" title="class in org.apache.catalina.valves">org.apache.catalina.valves.ValveBase</a> +<div class="inheritance">org.apache.catalina.valves.ParameterLimitValve</div> +</div> +</div> +</div> +</div> +<section class="class-description" id="class-description"> +<dl class="notes"> +<dt>All Implemented Interfaces:</dt> +<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/javax/management/MBeanRegistration.html" title="class or interface in javax.management" class="external-link">MBeanRegistration</a></code>, <code><a href="../Contained.html" title="interface in org.apache.catalina">Contained</a></code>, <code><a href="../JmxEnabled.html" title="interface in org.apache.catalina">JmxEnabled</a></code>, <code><a href="../Lifecycle.html" title="interface in org.apache.catalina">Lifecycle</a></code>, <code><a href="../Valve.html" title="interface in org.apache.catalina">Valve</a></code></dd> +</dl> +<hr> +<div class="horizontal-scroll"> +<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ParameterLimitValve</span> +<span class="extends-implements">extends <a href="ValveBase.html" title="class in org.apache.catalina.valves">ValveBase</a></span></div> +<div class="block">This is a concrete implementation of <a href="ValveBase.html" title="class in org.apache.catalina.valves"><code>ValveBase</code></a> that allows alternative values for the + <strong>Connector</strong> attributes <code>maxParameterCount</code>, <code>maxPartCount</code> and <code>maxPartHeaderSize</code> + to be applied to a request. The features of this implementation include: + <ul> + <li>URL-specific parameter limits that can be defined using regular expressions</li> + <li>Configurable through Tomcat's <code>server.xml</code> or <code>context.xml</code></li> + <li>Requires a <code>parameter_limit.config</code> file containing the URL-specific parameter limits. It must be + placed in the Host configuration folder or in the WEB-INF folder of the web application.</li> + </ul> + <p> + The default limit, specified by Connector's value, applies to all requests unless a more specific URL pattern is + matched. URL patterns and their corresponding limits can be configured via a regular expression mapping through the + <code>urlPatternLimits</code> attribute. + <p> + The Valve checks each incoming request and enforces the appropriate limit. If a request exceeds the allowed number of + parameters, a <code>400 Bad Request</code> response is returned. + <p> + Example, configuration in <code>context.xml</code>: + + <pre> + <code> + <Context> + <Valve className="org.apache.catalina.valves.ParameterLimitValve" + </Context> + </code> + and in <code>parameter_limit.config</code>: + </pre> + + <pre> + <code> + /api/.*=150 + /admin/.*=50 + /upload/.*=30,5,1024 + </code> + </pre> + <p> + The configuration allows for flexible control over different sections of your application, such as applying higher + limits for API endpoints and stricter limits for admin areas. + <p> + If a single integer is provided, it is used for <code>maxParameterCount</code>. + <p> + If three integers are provided, they are applied to <code>maxParameterCount</code>, <code>maxPartCount</code> and + <code>maxPartHeaderSize</code> respectively.</div> +</div> +</section> +<section class="summary"> +<ul class="summary-list"> +<!-- ======== NESTED CLASS SUMMARY ======== --> +<li> +<section class="nested-class-summary" id="nested-class-summary"> +<h2>Nested Class Summary</h2> +<div class="inherited-list"> +<h3 id="nested-classes-inherited-from-class-org.apache.catalina.Lifecycle">Nested classes/interfaces inherited from interface org.apache.catalina.<a href="../Lifecycle.html" title="interface in org.apache.catalina">Lifecycle</a></h3> +<code><a href="../Lifecycle.SingleUse.html" title="interface in org.apache.catalina">Lifecycle.SingleUse</a></code></div> +</section> +</li> +<!-- =========== FIELD SUMMARY =========== --> +<li> +<section class="field-summary" id="field-summary"> +<h2>Field Summary</h2> +<div class="inherited-list"> +<h3 id="fields-inherited-from-class-org.apache.catalina.valves.ValveBase">Fields inherited from class org.apache.catalina.valves.<a href="ValveBase.html" title="class in org.apache.catalina.valves">ValveBase</a></h3> +<code><a href="ValveBase.html#asyncSupported">asyncSupported</a>, <a href="ValveBase.html#container">container</a>, <a href="ValveBase.html#containerLog">containerLog</a>, <a href="ValveBase.html#next">next</a>, <a href="ValveBase.html#sm">sm</a></code></div> +<div class="inherited-list"> +<h3 id="fields-inherited-from-class-org.apache.catalina.util.LifecycleMBeanBase">Fields inherited from class org.apache.catalina.util.<a href="../util/LifecycleMBeanBase.html" title="class in org.apache.catalina.util">LifecycleMBeanBase</a></h3> +<code><a href="../util/LifecycleMBeanBase.html#mserver">mserver</a></code></div> +<div class="inherited-list"> +<h3 id="fields-inherited-from-class-org.apache.catalina.Lifecycle">Fields inherited from interface org.apache.catalina.<a href="../Lifecycle.html" title="interface in org.apache.catalina">Lifecycle</a></h3> +<code><a href="../Lifecycle.html#AFTER_DESTROY_EVENT">AFTER_DESTROY_EVENT</a>, <a href="../Lifecycle.html#AFTER_INIT_EVENT">AFTER_INIT_EVENT</a>, <a href="../Lifecycle.html#AFTER_START_EVENT">AFTER_START_EVENT</a>, <a href="../Lifecycle.html#AFTER_STOP_EVENT">AFTER_STOP_EVENT</a>, <a href="../Lifecycle.html#BEFORE_DESTROY_EVENT">BEFORE_DESTROY_EVENT</a>, <a href="../Lifecycle.html#BEFORE_INIT_EVENT">BEFORE_INIT_EVENT</a>, <a href="../Lifecycle.html#BEFORE_START_EVENT">BEFORE_START_EVENT</a>, <a href="../Lifecycle.html#BEFORE_STOP_EVENT">BEFORE_STOP_EVENT</a>, <a href="../Lifecycle.html#CONFIGURE_START_EVENT">CONFIGURE_START_EVENT</a>, <a href="../Lifecycle.html#CONFIGURE_STOP_EVENT">CONFIGURE_STOP_EVENT</a>, <a href="../Lifecycle.html#PERIODIC_EVENT">PERIODIC_EVENT</a>, <a href="../Lifecycle.html#START_EVENT">START_EVENT</a>, <a href="../Lifecycle.html#STOP_EVENT">STOP_EVENT</a></code></div> +</section> +</li> +<!-- ======== CONSTRUCTOR SUMMARY ======== --> +<li> +<section class="constructor-summary" id="constructor-summary"> +<h2>Constructor Summary</h2> +<div class="caption"><span>Constructors</span></div> +<div class="summary-table two-column-summary"> +<div class="table-header col-first">Constructor</div> +<div class="table-header col-last">Description</div> +<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">ParameterLimitValve</a>()</code></div> +<div class="col-last even-row-color"> </div> +</div> +</section> +</li> +<!-- ========== METHOD SUMMARY =========== --> +<li> +<section class="method-summary" id="method-summary"> +<h2>Method Summary</h2> +<div id="method-summary-table"> +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div> +<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0"> +<div class="summary-table three-column-summary"> +<div class="table-header col-first">Modifier and Type</div> +<div class="table-header col-second">Method</div> +<div class="table-header col-last">Description</div> +<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> +<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getResourcePath()" class="member-name-link">getResourcePath</a>()</code></div> +<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> +<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div> +<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#initInternal()" class="member-name-link">initInternal</a>()</code></div> +<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> +<div class="block">Subclasses implement this method to perform any instance initialisation required.</div> +</div> +<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> +<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#invoke(org.apache.catalina.connector.Request,org.apache.catalina.connector.Response)" class="member-name-link">invoke</a><wbr>(<a href="../connector/Request.html" title="class in org.apache.catalina.connector">Request</a> request, + <a href="../connector/Response.html" title="class in org.apache.catalina.connector">Response</a> response)</code></div> +<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> +<div class="block">Checks if any of the defined patterns matches the URI of the request and if it does, enforces the corresponding + parameter limit for the request.</div> +</div> +<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> +<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setResourcePath(java.lang.String)" class="member-name-link">setResourcePath</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> resourcePath)</code></div> +<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> +<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> +<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setUrlPatternLimits(java.io.BufferedReader)" class="member-name-link">setUrlPatternLimits</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/BufferedReader.html" title="class or interface in java.io" class="external-link">BufferedReader</a> reader)</code></div> +<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> +<div class="block">Set the mapping of URL patterns to their corresponding parameter limits.</div> +</div> +<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> +<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setUrlPatternLimits(java.lang.String)" class="member-name-link">setUrlPatternLimits</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> urlPatternConfig)</code></div> +<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> +<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div> +<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#startInternal()" class="member-name-link">startInternal</a>()</code></div> +<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> +<div class="block">Start this component and implement the requirements of + <a href="../util/LifecycleBase.html#startInternal()"><code>LifecycleBase.startInternal()</code></a>.</div> +</div> +<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div> +<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#stopInternal()" class="member-name-link">stopInternal</a>()</code></div> +<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> +<div class="block">Stop this component and implement the requirements of + <a href="../util/LifecycleBase.html#stopInternal()"><code>LifecycleBase.stopInternal()</code></a>.</div> +</div> +</div> +</div> +</div> +<div class="inherited-list"> +<h3 id="methods-inherited-from-class-org.apache.catalina.valves.ValveBase">Methods inherited from class org.apache.catalina.valves.<a href="ValveBase.html" title="class in org.apache.catalina.valves">ValveBase</a></h3> +<code><a href="ValveBase.html#backgroundProcess()">backgroundProcess</a>, <a href="ValveBase.html#getContainer()">getContainer</a>, <a href="ValveBase.html#getDomainInternal()">getDomainInternal</a>, <a href="ValveBase.html#getNext()">getNext</a>, <a href="ValveBase.html#getObjectNameKeyProperties()">getObjectNameKeyProperties</a>, <a href="ValveBase.html#isAsyncSupported()">isAsyncSupported</a>, <a href="ValveBase.html#setAsyncSupported(boolean)">setAsyncSupported</a>, <a href="ValveBase.html#setContainer(org.apache.catalina.Container)">setContainer</a>, <a href="ValveBase.html#setNext(org.apache.catalina.Valve)">setNext</a>, <a href="ValveBase.html#toString()">toString</a></code></div> +<div class="inherited-list"> +<h3 id="methods-inherited-from-class-org.apache.catalina.util.LifecycleMBeanBase">Methods inherited from class org.apache.catalina.util.<a href="../util/LifecycleMBeanBase.html" title="class in org.apache.catalina.util">LifecycleMBeanBase</a></h3> +<code><a href="../util/LifecycleMBeanBase.html#destroyInternal()">destroyInternal</a>, <a href="../util/LifecycleMBeanBase.html#getDomain()">getDomain</a>, <a href="../util/LifecycleMBeanBase.html#getObjectName()">getObjectName</a>, <a href="../util/LifecycleMBeanBase.html#postDeregister()">postDeregister</a>, <a href="../util/LifecycleMBeanBase.html#postRegister(java.lang.Boolean)">postRegister</a>, <a href="../util/LifecycleMBeanBase.html#preDeregister()">preDeregister</a>, <a href="../util/LifecycleMBeanBase.html#preRegister(javax.management.MBeanServer,javax.management.ObjectName)">preRegister</a>, <a href="../util/LifecycleMBeanBase.html#register(java.lang.Object,java.lang.String)">register</a>, <a href="../util/LifecycleMBeanBase.html#setDomain(java.lang.String)">setDomain</a>, <a href="../util/LifecycleMBeanBase.html#unregister(java.lang.String)">unregister</a>, <a href="../util/LifecycleMBeanBase.html#unregister(javax.management.ObjectName)">unregister</a></code></div> +<div class="inherited-list"> +<h3 id="methods-inherited-from-class-org.apache.catalina.util.LifecycleBase">Methods inherited from class org.apache.catalina.util.<a href="../util/LifecycleBase.html" title="class in org.apache.catalina.util">LifecycleBase</a></h3> +<code><a href="../util/LifecycleBase.html#addLifecycleListener(org.apache.catalina.LifecycleListener)">addLifecycleListener</a>, <a href="../util/LifecycleBase.html#destroy()">destroy</a>, <a href="../util/LifecycleBase.html#findLifecycleListeners()">findLifecycleListeners</a>, <a href="../util/LifecycleBase.html#fireLifecycleEvent(java.lang.String,java.lang.Object)">fireLifecycleEvent</a>, <a href="../util/LifecycleBase.html#getState()">getState</a>, <a href="../util/LifecycleBase.html#getStateName()">getStateName</a>, <a href="../util/LifecycleBase.html#getThrowOnFailure()">getThrowOnFailure</a>, <a href="../util/LifecycleBase.html#init()">init</a>, <a href="../util/LifecycleBase.html#removeLifecycleListener(org.apache.catalina.LifecycleListener)">removeLifecycleListener</a>, <a href="../util/LifecycleBase.html#setState(org.apache.catalina.LifecycleState)">setState</a>, <a href="../util/LifecycleBase.html#setState(org.apache.catalina.LifecycleState,java.lang.Object)">setState</a>, <a href="../util/LifecycleBase.html#setThrowOnFailure(boolean)">setThrowOnFailure</a>, <a href="../util/LifecycleBase.html#start()">start</a>, <a href="../util/LifecycleBase.html#stop()">stop</a></code></div> +<div class="inherited-list"> +<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3> +<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Objec t.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div> +</section> +</li> +</ul> +</section> +<section class="details"> +<ul class="details-list"> +<!-- ========= CONSTRUCTOR DETAIL ======== --> +<li> +<section class="constructor-details" id="constructor-detail"> +<h2>Constructor Details</h2> +<ul class="member-list"> +<li> +<section class="detail" id="<init>()"> +<h3>ParameterLimitValve</h3> +<div class="horizontal-scroll"> +<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">ParameterLimitValve</span>()</div> +</div> +</section> +</li> +</ul> +</section> +</li> +<!-- ============ METHOD DETAIL ========== --> +<li> +<section class="method-details" id="method-detail"> +<h2>Method Details</h2> +<ul class="member-list"> +<li> +<section class="detail" id="getResourcePath()"> +<h3>getResourcePath</h3> +<div class="horizontal-scroll"> +<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">getResourcePath</span>()</div> +</div> +</section> +</li> +<li> +<section class="detail" id="setResourcePath(java.lang.String)"> +<h3>setResourcePath</h3> +<div class="horizontal-scroll"> +<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setResourcePath</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> resourcePath)</span></div> +</div> +</section> +</li> +<li> +<section class="detail" id="initInternal()"> +<h3>initInternal</h3> +<div class="horizontal-scroll"> +<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">void</span> <span class="element-name">initInternal</span>() + throws <span class="exceptions"><a href="../LifecycleException.html" title="class in org.apache.catalina">LifecycleException</a></span></div> +<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="../util/LifecycleBase.html#initInternal()">LifecycleBase</a></code></span></div> +<div class="block">Subclasses implement this method to perform any instance initialisation required.</div> +<dl class="notes"> +<dt>Overrides:</dt> +<dd><code><a href="ValveBase.html#initInternal()">initInternal</a></code> in class <code><a href="ValveBase.html" title="class in org.apache.catalina.valves">ValveBase</a></code></dd> +<dt>Throws:</dt> +<dd><code><a href="../LifecycleException.html" title="class in org.apache.catalina">LifecycleException</a></code> - If the initialisation fails</dd> +</dl> +</div> +</section> +</li> +<li> +<section class="detail" id="startInternal()"> +<h3>startInternal</h3> +<div class="horizontal-scroll"> +<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">void</span> <span class="element-name">startInternal</span>() + throws <span class="exceptions"><a href="../LifecycleException.html" title="class in org.apache.catalina">LifecycleException</a></span></div> +<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="ValveBase.html#startInternal()">ValveBase</a></code></span></div> +<div class="block">Start this component and implement the requirements of + <a href="../util/LifecycleBase.html#startInternal()"><code>LifecycleBase.startInternal()</code></a>.</div> +<dl class="notes"> +<dt>Overrides:</dt> +<dd><code><a href="ValveBase.html#startInternal()">startInternal</a></code> in class <code><a href="ValveBase.html" title="class in org.apache.catalina.valves">ValveBase</a></code></dd> +<dt>Throws:</dt> +<dd><code><a href="../LifecycleException.html" title="class in org.apache.catalina">LifecycleException</a></code> - if this component detects a fatal error that prevents this component from being + used</dd> +</dl> +</div> +</section> +</li> +<li> +<section class="detail" id="setUrlPatternLimits(java.lang.String)"> +<h3>setUrlPatternLimits</h3> +<div class="horizontal-scroll"> +<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setUrlPatternLimits</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> urlPatternConfig)</span></div> +</div> +</section> +</li> +<li> +<section class="detail" id="setUrlPatternLimits(java.io.BufferedReader)"> +<h3>setUrlPatternLimits</h3> +<div class="horizontal-scroll"> +<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setUrlPatternLimits</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/BufferedReader.html" title="class or interface in java.io" class="external-link">BufferedReader</a> reader)</span></div> +<div class="block">Set the mapping of URL patterns to their corresponding parameter limits. The input should be provided line by + line, where each line contains a pattern and a limit, separated by the last '='. + <p> + Example: + + <pre> + /api/.*=50 + /api======/.*=150 + /urlEncoded%20api=2 + # This is a comment + </pre></div> +<dl class="notes"> +<dt>Parameters:</dt> +<dd><code>reader</code> - A BufferedReader containing URL pattern to parameter limit mappings, with each pair on a separate + line.</dd> +</dl> +</div> +</section> +</li> +<li> +<section class="detail" id="stopInternal()"> +<h3>stopInternal</h3> +<div class="horizontal-scroll"> +<div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">void</span> <span class="element-name">stopInternal</span>() + throws <span class="exceptions"><a href="../LifecycleException.html" title="class in org.apache.catalina">LifecycleException</a></span></div> +<div class="block"><span class="description-from-type-label">Description copied from class: <code><a href="ValveBase.html#stopInternal()">ValveBase</a></code></span></div> +<div class="block">Stop this component and implement the requirements of + <a href="../util/LifecycleBase.html#stopInternal()"><code>LifecycleBase.stopInternal()</code></a>.</div> +<dl class="notes"> +<dt>Overrides:</dt> +<dd><code><a href="ValveBase.html#stopInternal()">stopInternal</a></code> in class <code><a href="ValveBase.html" title="class in org.apache.catalina.valves">ValveBase</a></code></dd> +<dt>Throws:</dt> +<dd><code><a href="../LifecycleException.html" title="class in org.apache.catalina">LifecycleException</a></code> - if this component detects a fatal error that prevents this component from being + used</dd> +</dl> +</div> +</section> +</li> +<li> +<section class="detail" id="invoke(org.apache.catalina.connector.Request,org.apache.catalina.connector.Response)"> +<h3>invoke</h3> +<div class="horizontal-scroll"> +<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">invoke</span><wbr><span class="parameters">(<a href="../connector/Request.html" title="class in org.apache.catalina.connector">Request</a> request, + <a href="../connector/Response.html" title="class in org.apache.catalina.connector">Response</a> response)</span> + throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>, +<a href="../../../../../servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet" class="external-link">ServletException</a></span></div> +<div class="block">Checks if any of the defined patterns matches the URI of the request and if it does, enforces the corresponding + parameter limit for the request. Then invoke the next Valve in the sequence.</div> +<dl class="notes"> +<dt>Parameters:</dt> +<dd><code>request</code> - The servlet request to be processed</dd> +<dd><code>response</code> - The servlet response to be created</dd> +<dt>Throws:</dt> +<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - if an input/output error occurs</dd> +<dd><code><a href="../../../../../servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet" class="external-link">ServletException</a></code> - if a servlet error occurs</dd> +</dl> +</div> +</section> +</li> +</ul> +</section> +</li> +</ul> +</section> +<!-- ========= END OF CLASS DATA ========= --> +<footer role="contentinfo"> +<hr> +<p class="legal-copy"><small>Copyright © 2000-2025 Apache Software Foundation. <br/> Apache Tomcat, Tomcat, Apache, the Apache Tomcat logo and the Apache logo are either registered trademarks or trademarks of the Apache Software Foundation.</small></p> +</footer> +</main> +</div> +</body> +</html> Added: tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/tomcat/util/threads/RetryableQueue.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/tomcat/util/threads/RetryableQueue.html?rev=1926306&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/tomcat/util/threads/RetryableQueue.html (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/tomcat/util/threads/RetryableQueue.html Tue Jun 10 07:32:14 2025 @@ -0,0 +1,204 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (24) --> +<title>RetryableQueue (Apache Tomcat 9.0.106 API Documentation)</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta name="description" content="declaration: package: org.apache.tomcat.util.threads, interface: RetryableQueue"> +<meta name="generator" content="javadoc/ClassWriter"> +<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css" title="Style"> +<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css" title="Style"> +<script type="text/javascript" src="../../../../../script-files/script.js"></script> +<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script> +<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script> +</head> +<body class="class-declaration-page"> +<script type="text/javascript">const pathtoroot = "../../../../../"; +loadScripts(document, 'script');</script> +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<header role="banner"> +<nav role="navigation"> +<!-- ========= START OF TOP NAVBAR ======= --> +<div class="top-nav" id="navbar-top"> +<div class="nav-content"> +<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span></button></div> +<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> +<ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> +<li><a href="../../../../../index.html">Overview</a></li> +<li class="nav-bar-cell1-rev">Class</li> +<li><a href="package-tree.html">Tree</a></li> +<li><a href="../../../../../deprecated-list.html">Deprecated</a></li> +<li><a href="../../../../../index-all.html">Index</a></li> +<li><a href="../../../../../search.html">Search</a></li> +<li><a href="../../../../../help-doc.html#class">Help</a></li> +</ul> +<div class="about-language"><b>Apache Tomcat<sup>®</sup> 9.0.106</b></div> +</div> +</div> +<div class="sub-nav"> +<div class="nav-content"> +<ol class="sub-nav-list"> +<li><a href="package-summary.html">org.apache.tomcat.util.threads</a></li> +<li><a href="RetryableQueue.html" class="current-selection">RetryableQueue</a></li> +</ol> +<div class="nav-list-search"> +<input type="text" id="search-input" disabled placeholder="Search" aria-label="Search in documentation" autocomplete="off"> +<input type="reset" id="reset-search" disabled value="Reset"> +</div> +</div> +</div> +<!-- ========= END OF TOP NAVBAR ========= --> +<span class="skip-nav" id="skip-navbar-top"></span></nav> +</header> +<div class="main-grid"> +<nav role="navigation" class="toc" aria-label="Table of contents"> +<div class="toc-header">Contents +<input type="text" class="filter-input" disabled placeholder="Filter" aria-label="Filter table of contents" autocomplete="off"> +<input type="reset" class="reset-filter" disabled value="Reset"> +</div> +<button class="hide-sidebar"><span>Hide sidebar </span>❮</button><button class="show-sidebar">❯<span> Show sidebar</span></button> +<ol class="toc-list"> +<li><a href="#" tabindex="0">Description</a></li> +<li><a href="#method-summary" tabindex="0">Method Summary</a></li> +<li><a href="#method-detail" tabindex="0">Method Details</a> +<ol class="toc-list"> +<li><a href="#force(T)" tabindex="0">force(T)</a></li> +<li><a href="#force(java.lang.Runnable,long,java.util.concurrent.TimeUnit)" tabindex="0">force(Runnable, long, TimeUnit)</a></li> +</ol> +</li> +</ol> +</nav> +<main role="main"> +<!-- ======== START OF CLASS DATA ======== --> +<div class="header"> +<h1 title="Interface RetryableQueue" class="title">Interface RetryableQueue<<span id="type-param-T">T</span>></h1> +</div> +<section class="class-description" id="class-description"> +<dl class="notes"> +<dt>All Superinterfaces:</dt> +<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><T></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><T></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><T></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Queue.html" title="class or interface in java.util" class="external-link">Queue</a><T></code></dd> +</dl> +<dl class="notes"> +<dt>All Known Implementing Classes:</dt> +<dd><code><a href="TaskQueue.html" title="class in org.apache.tomcat.util.threads">TaskQueue</a></code></dd> +</dl> +<hr> +<div class="horizontal-scroll"> +<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">RetryableQueue<T></span><span class="extends-implements"> +extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a><T></span></div> +</div> +</section> +<section class="summary"> +<ul class="summary-list"> +<!-- ========== METHOD SUMMARY =========== --> +<li> +<section class="method-summary" id="method-summary"> +<h2>Method Summary</h2> +<div id="method-summary-table"> +<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table. tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div> +<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0"> +<div class="summary-table three-column-summary"> +<div class="table-header col-first">Modifier and Type</div> +<div class="table-header col-second">Method</div> +<div class="table-header col-last">Description</div> +<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code>boolean</code></div> +<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><a href="#force(java.lang.Runnable,long,java.util.concurrent.TimeUnit)" class="member-name-link">force</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a> o, + long timeout, + <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/TimeUnit.html" title="class or interface in java.util.concurrent" class="external-link">TimeUnit</a> unit)</code></div> +<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"> +<div class="block"><span class="deprecated-label">Deprecated.</span> +<div class="deprecation-comment">Unused.</div> +</div> +</div> +<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div> +<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#force(T)" class="member-name-link">force</a><wbr>(<a href="#type-param-T" title="type parameter in RetryableQueue">T</a> o)</code></div> +<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> +<div class="block">Used to add a task to the queue if the task has been rejected by the Executor.</div> +</div> +</div> +</div> +</div> +<div class="inherited-list"> +<h3 id="methods-inherited-from-class-java.util.concurrent.BlockingQueue">Methods inherited from interface java.util.concurrent.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link">BlockingQueue</a></h3> +<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html#add(E)" title="class or interface in java.util.concurrent" class="external-link">add</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html#contains(java.lang.Object)" title="class or interface in java.util.concurrent" class="external-link">contains</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html#drainTo(java.util.Collection)" title="class or interface in java.util.concurrent" class="external-link">drainTo</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html#drainTo(java.util.Collection,int)" title="class or interface in java.util.concurrent" class="external-link">drainTo</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.htm l#offer(E)" title="class or interface in java.util.concurrent" class="external-link">offer</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html#offer(E,long,java.util.concurrent.TimeUnit)" title="class or interface in java.util.concurrent" class="external-link">offer</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html#poll(long,java.util.concurrent.TimeUnit)" title="class or interface in java.util.concurrent" class="external-link">poll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html#put(E)" title="class or interface in java.util.concurrent" class="external-link">put</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html#remainingCapacity()" title="class or interface in java.util.concurrent" class="external-link">remainingCapacity</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html#remove(java.lang.Object)" title="class or interface in java.util.concurrent" class="external-link">remove</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/BlockingQueue.html#take()" title="class or interface in java.util.concurrent" class="external-link">take</a></code></div> +<div class="inherited-list"> +<h3 id="methods-inherited-from-class-java.util.Collection">Methods inherited from interface java.util.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a></h3> +<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#addAll(java.util.Collection)" title="class or interface in java.util" class="external-link">addAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#clear()" title="class or interface in java.util" class="external-link">clear</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#containsAll(java.util.Collection)" title="class or interface in java.util" class="external-link">containsAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#equals(java.lang.Object)" title="class or interface in java.util" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#hashCode()" title="class or interface in java.util" class="external-link">hashCode</a>, <a href="https://docs.o racle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#isEmpty()" title="class or interface in java.util" class="external-link">isEmpty</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#iterator()" title="class or interface in java.util" class="external-link">iterator</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#parallelStream()" title="class or interface in java.util" class="external-link">parallelStream</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#removeAll(java.util.Collection)" title="class or interface in java.util" class="external-link">removeAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#removeIf(java.util.function.Predicate)" title="class or interface in java.util" class="external-link">removeIf</a>, <a href="https://docs.oracle.com/en/java /javase/11/docs/api/java.base/java/util/Collection.html#retainAll(java.util.Collection)" title="class or interface in java.util" class="external-link">retainAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#size()" title="class or interface in java.util" class="external-link">size</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#spliterator()" title="class or interface in java.util" class="external-link">spliterator</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#stream()" title="class or interface in java.util" class="external-link">stream</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#toArray()" title="class or interface in java.util" class="external-link">toArray</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#toArray (java.util.function.IntFunction)" title="class or interface in java.util" class="external-link">toArray</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html#toArray(T%5B%5D)" title="class or interface in java.util" class="external-link">toArray</a></code></div> +<div class="inherited-list"> +<h3 id="methods-inherited-from-class-java.lang.Iterable">Methods inherited from interface java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a></h3> +<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html#forEach(java.util.function.Consumer)" title="class or interface in java.lang" class="external-link">forEach</a></code></div> +<div class="inherited-list"> +<h3 id="methods-inherited-from-class-java.util.Queue">Methods inherited from interface java.util.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Queue.html" title="class or interface in java.util" class="external-link">Queue</a></h3> +<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Queue.html#element()" title="class or interface in java.util" class="external-link">element</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Queue.html#peek()" title="class or interface in java.util" class="external-link">peek</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Queue.html#poll()" title="class or interface in java.util" class="external-link">poll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Queue.html#remove()" title="class or interface in java.util" class="external-link">remove</a></code></div> +</section> +</li> +</ul> +</section> +<section class="details"> +<ul class="details-list"> +<!-- ============ METHOD DETAIL ========== --> +<li> +<section class="method-details" id="method-detail"> +<h2>Method Details</h2> +<ul class="member-list"> +<li> +<section class="detail" id="force(T)"> +<h3 id="force(java.lang.Object)">force</h3> +<div class="horizontal-scroll"> +<div class="member-signature"><span class="return-type">boolean</span> <span class="element-name">force</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in RetryableQueue">T</a> o)</span></div> +<div class="block">Used to add a task to the queue if the task has been rejected by the Executor.</div> +<dl class="notes"> +<dt>Parameters:</dt> +<dd><code>o</code> - The task to add to the queue</dd> +<dt>Returns:</dt> +<dd><code>true</code> if the task was added to the queue, + otherwise <code>false</code></dd> +</dl> +</div> +</section> +</li> +<li> +<section class="detail" id="force(java.lang.Runnable,long,java.util.concurrent.TimeUnit)"> +<h3>force</h3> +<div class="horizontal-scroll"> +<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> +</span><span class="return-type">boolean</span> <span class="element-name">force</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a> o, + long timeout, + <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/TimeUnit.html" title="class or interface in java.util.concurrent" class="external-link">TimeUnit</a> unit)</span> + throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/InterruptedException.html" title="class or interface in java.lang" class="external-link">InterruptedException</a></span></div> +<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span> +<div class="deprecation-comment">Unused. Will be removed in Tomcat 10.1.x.</div> +</div> +<div class="block">Used to add a task to the queue if the task has been rejected by the Executor.</div> +<dl class="notes"> +<dt>Parameters:</dt> +<dd><code>o</code> - The task to add to the queue</dd> +<dd><code>timeout</code> - The timeout to use when adding the task</dd> +<dd><code>unit</code> - The units in which the timeout is expressed</dd> +<dt>Returns:</dt> +<dd><code>true</code> if the task was added to the queue, + otherwise <code>false</code></dd> +<dt>Throws:</dt> +<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/InterruptedException.html" title="class or interface in java.lang" class="external-link">InterruptedException</a></code> - If the call is interrupted before the + timeout expires</dd> +</dl> +</div> +</section> +</li> +</ul> +</section> +</li> +</ul> +</section> +<!-- ========= END OF CLASS DATA ========= --> +<footer role="contentinfo"> +<hr> +<p class="legal-copy"><small>Copyright © 2000-2025 Apache Software Foundation. <br/> Apache Tomcat, Tomcat, Apache, the Apache Tomcat logo and the Apache logo are either registered trademarks or trademarks of the Apache Software Foundation.</small></p> +</footer> +</main> +</div> +</body> +</html> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org