anchor.diff:  information on this page applies for Camel 2.0 and later.
   
   The Async API in Camel is primarily divided in two
  -areas +
  - 1. Initiating an Async messaging from the client +
  - 2. Turning a route into Async using the *threads*
  -DSL
  +areas:
  +
  + 1. Initiating an Async messaging from the client
  + 2. Turning a route into Async using the *threads* DSL
   
   Before we look at these two areas we start with a bit of background
   information and look at the concept from a higher level using
  
positive.code: The `threads` DSL leverages the JDK concurrency framework for multi-threading. It can be used to turn a synchronous route into
  Async. What happens is that from the point forwards
  from `threads` the messages are routed asynchronous in a new thread.
  Camel leverages the xref:asynchronous-routing-engine.adoc[asynchronous routing engine], 
  which was re-introduced in Camel 2.4, to continue
  routing the Exchange asynchronously.
  
  
negative.code: 
   1. The client sends a sync Request Reply
  message over xref:components::http-component.adoc[HTTP] to Camel. The client application will
  wait for the response that Camel routes and processes.
   2. The message invokes an external xref:components::mina-component.adoc[TCP] service using
  synchronous Request Reply. The client
  application still waits for the response.
   3. The response is sent back to the client.
  
  [[Async-AsynchronousRequestReply]]
  