[[DelayInterceptor-DelayInterceptor]]
=== Delay Interceptor

*Available in Camel 1.5*

The Delay interceptor is an route interceptor that is used for slowing
processing of messages down. This allows you to enable this interceptor
and set a fixed amount of delay between each step a message passes in
the route path, to show how things is happening nice and slowly, so you
are not bombarded with a zillion lines of logging output.

The delay interceptor can be configured as follows:

* setting the delay attribute in the spring camelContext tag.
* adding the delay interceptor to the CamelContext in Java code.

[[DelayInterceptor-ConfiguringusingSpring]]
==== Configuring using Spring

Just set the delay attribute of the camelContext tag as shown below:

[source,xml]
--------------------------------------------------------------------------------------------------
    <camelContext id="camel" delayer="500" xmlns="http://activemq.apache.org/camel/schema/spring">
        <route>
            <from uri="direct:start"/>
            <to uri="mock:result"/>
        </route>
    </camelContext>
--------------------------------------------------------------------------------------------------

[[DelayInterceptor-ConfiguringusingJava]]
==== Configuring using Java

You can add the delayer interceptor in the RouteBulder:

[source,java]
-----------------------------
getContext().setDelayer(200);
-----------------------------

[[DelayInterceptor-Granularity]]
==== Granularity

In *Camel 2.0* you can configure it on both camel context and per route
as you like. Per route will override the camel context setting. +
 For example the route below is only the first route that has a delayer
with 200 millis.

[source,java]
------------------------
<camelContext ...>

   <route delayer="200">
     ...
   </route>

   <route>
     ...
   </route>

</camelContext>
------------------------

[[DelayInterceptor-SeeAlso]]
==== See Also

* Tracer
* link:debugger.adoc[Debugger]

