blob: 72d8b5b1cc6b47d1b934f279f2b22dcc2b0aad6f [file] [log] [blame]
[[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 as shown below:
[source,java]
------------------------------------------------------------------
public void configure() throws Exception {
// add the delay interceptor to delay each step 200 millis
getContext().addInterceptStrategy(new Delayer(200));
... // regular routes here
}
------------------------------------------------------------------
In *Camel 2.0* its a bit easier as you can just do
[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
^^^^^^^^
* link:tracer.html[Tracer]
* link:debugger.html[Debugger]