Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the early version of the new website
https://camel.apache.org/staging/
We would very much like to receive any feedback on the new site, please join the discussion on the Camel user mailing list.

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.

Configuring using Spring

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

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

Configuring using Java

You can add the delayer interceptor in the RouteBulder as shown below:

    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

getContext().setDelayer(200);

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.

<camelContext ...>

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

   <route>
     ...
   </route>

</camelContext>

See Also

© 2004-2015 The Apache Software Foundation.
Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram