Threads

Table of Contents

Usage
Properties

Specifies that all steps after this node are processed asynchronously

Usage

The Threads pattern specifies that the nodes after it in the route are processed asynchronously. This means that the route can use multiple threads to process messages and that the client will not wait for a reply.

The Threads pattern can be used anywhere in the body of a route.

Properties

Table 147, “Threads Properties” describes the properties you can specify using the properties editor.

Table 147. Threads Properties

NameDescription

Allow Core Thread Time Out

Specifies whether idle core threads are allowed to time out, therefore possibly shrinking the size of the thread pool below the size of the core pool. The default is Disabled.

Caller Runs When Rejected

Specifies whether tasks rejected by the thread pool are executed by the calling thread. The default is Disabled.

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.

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 tooling automatically generates an id for a node when it is created, but you can remove that id or replace it with your own. The Camel debugger requires all nodes with a breakpoint set to have a unique id.

You can use the id to refer to endpoints in your Camel XML file.

Keep Alive Time

Specifies the amount of time a thread can be idle before it is reaped.

Max Pool Size

Specifies the maximum size for the thread pool.

Max Queue Size

Specifies the maximum size of the thread queue.

Pool Size

Specifies the size of the core pool for the thread pool.

Rejected Policy

Specifies how tasks rejected by the thread pool are handled. Valid values are:

  • Abort — the handler throws a runtime RejectedExecutionException upon rejection.
  • CallerRuns — the thread that invokes execute itself runs the task.
  • DiscardOldest — the task at the head of the work queue is dropped, and then execution is retried.
  • Discard — the task that cannot be executed is dropped.

Thread Name

Specifies an expression, in the simple language, that is used to generate unique names for the threads used to process messages.

Time Unit

Specifies the unit of measure for timeout values.