| [[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 |
| ^^^^^^^^ |
| |
| * Tracer |
| * link:debugger.adoc[Debugger] |
| |