## Name

Throttle — Controls the rate at which messages are passed to the next node in the route

## Usage

The Throttle pattern controls the flow of messages from one step in the route to the next.

The Throttle pattern can appear anywhere in the body of a route.

## Properties

Table 43 describes the properties you can specify using the properties editor.

Table 43. Throttle Properties

Name | Description
--- | ---
Expression | Specifies the expression used to determine the rate at which messages are passed to the next node in the route.
Language | Specifies the language to use to process the expression.
Caller Runs When Rejected | Specifies whether tasks rejected by the thread pool are executed by the calling thread. The default is `Disabled`.
Async Delayed | Specifies whether processing tasks will be scheduled for processing at a later time. The default is `Disabled`.
Inherit Error Handler | Specifies whether the node should use the error handler configured for the route. The default is `Disabled`.
Time Period Millis | Specifies the time period, in milliseconds, used by the throttler. The default is `1000` milliseconds.
Maximum Requests Per Period | Specifies the number of messages per time period that are allowed through the throttler.
Executor Service Ref | Specifies a reference for looking up the `executorService` to use for thread pool management.
Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file.
Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel.