6. Security

throttle

The throttle feature can slow down traffic to thwart denial of service attacks.



Can be used in:

serviceProxy, api, stompProxy, swaggerProxy, if, registration, wsStompReassembler, interceptor, bean, internalProxy, transport and soapProxy

Syntax

<throttle delay="long"
  maxThreads="int"
  busyDelay="long"/>

Sample

This sample delays every request for a second and limits the number of concurrent clients to five. After 3 seconds of waiting a client gets a timeout if there are no threads left to serve its request.

<serviceProxy port="2000">
  <throttle delay="1000" maxThreads="5" busyDelay="3000"/>
  <target host="www.predic8.de" />
</serviceProxy>

Attributes

NameRequiredDefaultDescriptionExample
delay false 0
If non-zero, delays requests by specified number of milliseconds. 1000
busyDelay false 0
If a newly incoming request exceeds maxThreads, the interceptor waits the specified number in milliseconds and retries once before aborting the request. 3000
maxThreads false 0
If non-zero, newly incoming request are aborted if the number of running requests has reached this limit. 5