anchor.diff:  
   * Camel features descriptor allowing to easily and quickly install Camel
   in Karaf.
  -* Karaf commands allowing you to view, start, stop, get info, about the
  -Camel contexts and routes running in the Karaf instance. +
  -
  -NOTE: Karaf commands are available starting with Camel 2.8.0, and the
  -commands was renamed in Camel 2.9.0.
  -
  -Here are the versions that are compatible:
  -
  -[width="100%",cols="1m,1m",options="header",]
  -|============================
  -|Camel Version |Karaf Version
  -|2.2.0 |1.2.0
  -|2.3.0 |1.3.0
  -|2.4.0 |1.4.0
  -|2.5.0 |2.1.0
  -|2.7.0 |2.2.0
  -|2.7.2 |2.2.2
  -|2.8.2 |2.2.4
  -|2.9.0 |2.2.5
  -|2.10.0 |2.2.8
  -|2.11.0 |2.3.1
  -|2.12.0 |2.3.2
  -|2.13.0 |2.3.3
  -|2.14.0 |2.3.7
  -|2.15.0 |2.4.0
  -|2.23.0 |4.2
  -|3.0    |4.3
  -|============================
  -
  -[[Karaf-PreparingKarafforCamel]]
  -== Preparing Karaf for Camel
  -
  -Camel uses several bundles to provide low level package, such as
  -`javax.annotation` or `javax.xml.bind`.
  -
  -Due to that, we mustn't use the default system package coming from the
  -JDK. It means that we need to _exclude_ some packages from system
  -packages in order to use packages provided by tiers bundles.
  -
  -Camel provides a ready to use `config.properties` file that you can
  -download:
  -
  -http://svn.apache.org/repos/asf/camel/tags/camel-2.7.2/platforms/karaf/features/src/main/resources/config.properties
  -
  -This file has to be copied into Karaf etc folder.
  -
  -TIP: *Karaf 2.2.5 or newer* +
  -Notice that Karaf 2.2.5 now provides an extra configuration file that
  -has been configured to work with Camel and CXF, so its recommended to
  -use this file if you use Karaf 2.2.5 or newer. You can prepare Karaf by
  -copying the `etc/jre.properties.cxf` and override the existing
  -`etc/jre.properties` file.
  +* Camel Karaf commands allowing you to view, start, stop, get info, about the
  +Camel contexts and routes running in the Karaf instance.
   
   
   [[Karaf-InstallCamelinKaraf]]
  
positive.code: karaf@root> feature:install camel-stream
  ----
  
  [[Karaf-Karafcommands]]
  == Karaf commands
  
  When you install the camel feature, new Karaf commands become available
  automatically.
  
  [[Karaf-KarafcommandsinCamel2.8.x]]
  == Karaf commands in Camel 2.8.x
  
  [width="100%",cols="1s,4",options="header",]
  |=======================================================================
  |Command |Description
  |camel:list-contexts |Lists the camel contexts available in the
  current Karaf instance
  
  |camel:list-routes |Displays the list of Camel routes available in the
  current Karaf instance
  
  |camel:info-context |Displays detail information about a given Camel
  context
  
  |camel:start-context |Starts the given Camel context
  
  |camel:stop-context |Stops the given Camel context
  
  |camel:info-route |Provides detail information about a Camel route
  
  |camel:show-route |Renders the route in XML
  
  |camel:start-route |Starts the given route
  
  |camel:stop-route |Stops the given route
  |=======================================================================
  
  [[Karaf-KarafcommandsinCamel2.9onwards]]
  == Karaf commands in Camel 2.9 onwards
  
  [width="100%",cols="1s,4",options="header",]
  |=======================================================================
  |Command |Description
  |camel:context-list |Lists the camel contexts available in the current
  Karaf instance
  
  |camel:context-info |Displays detail information about a given Camel
  context
  
  |camel:context-start |Starts the given Camel context
  
  |camel:context-stop |Stops the given Camel context (it becomes
  unavailable and it can't be started afterwards)
  
  |camel:route-list |Displays the list of Camel routes available in the
  current Karaf instance
  
  |camel:route-info |Provides detail information about a Camel route
  
  |camel:route-show |Renders the route in XML
  
  |camel:route-start |Starts the given route. From Camel *2.10* onwards
  you can use `*` as wildcard to match multiple routes.
  
  |camel:route-stop |Stops the given route. From Camel *2.10* onwards
  you can use `*` as wildcard to match multiple routes.
  
  |camel:route-suspend |Suspends the given route. From Camel *2.10*
  onwards you can use `*` as wildcard to match multiple routes.
  
  |camel:route-resume |Resumes the given route. From Camel *2.10*
  onwards you can use `*` as wildcard to match multiple routes.
  |=======================================================================
  
  [[Karaf-KarafcommandsinCamel2.10onwards]]
  == Karaf commands in Camel 2.10 onwards
  
  [width="100%",cols="1s,4",options="header",]
  |=======================================================================
  |Command |Description
  |camel:endpoint-list |Lists endpoints from all camel contexts
  available in the current Karaf instance
  |=======================================================================
  
  [[Karaf-KarafcommandsinCamel2.11onwards]]
  == Karaf commands in Camel 2.11 onwards
  
  [width="100%",cols="1s,4",options="header",]
  |=======================================================================
  |Command |Description
  |camel:route-profile |To profile route(s)
  
  |camel:route-reset-stats |To reset performance stats on the given
  route(s)
  |=======================================================================
  
  [[Karaf-KarafcommandsinCamel2.12.4onwards]]
  == Karaf commands in Camel 2.12.4 onwards
  
  [width="100%",cols="1s,4",options="header",]
  |=========================================================
  |Command |Description
  |camel:context-suspend |Suspends the given Camel context
  |camel:context-resume |Resumes the given Camel context
  |=========================================================
  
  [[Karaf-KarafcommandsinCamel3onwards]]
  == Karaf commands in Camel 3 onwards
  
  [width="100%",cols="1s,4",options="header",]
  |=======================================================================
  |Command |Description
  |camel:route-step |Display step information about Camel route(s).
  |=======================================================================
  
  [[Karaf-camel:context-list]]
  == `camel:context-list`
  
  The `camel:context-list` command displays the list of Camel contexts
  available in the current Karaf instance:
  
  [source,sh]
  ----
  karaf@root> camel:context-list
  Name                 Status               Uptime
  [66-camel-3        ] [Started           ] [14.559 seconds    ]
  ----
  
  It displays the context name/ID (used in others commands), the current
  status (started/stopped), the uptime (since when the context has been
  started).
  
  [[Karaf-camel:route-list]]
  == `camel:route-list`
  
  The `camel:route-list` command displays the list of Camel routes
  available in the current Karaf instance:
  
  [source,sh]
  ----
  karaf@root> camel:route-list
  [route1              ]
  ----
  
  You can also filter the routes by Camel context:
  
  [source,sh]
  ----
  karaf@root> camel:route-list 66-camel-3
  [route1              ]
  ----
  
  TIP: use the kbd:[TAB] key to completion on the Camel context ID.
  
  [[Karaf-camel:info-context]]
  == `camel:info-context`
  
  The `camel:context-info` command displays detail information about a
  given Camel context:
  
  add the `--verbose` option (following the context name) to also list
  the endpoints:
  
  [source]
  ----
  karaf@root> camel:context-info 66-camel-3
  Camel Context 66-camel-3
          Name: 66-camel-3
          Version: 2.8.0
          Status: Started
          Uptime: 1 minute
  
  Advanced
          Auto Startup: true
          Starting Routes: false
          Suspended: false
          Tracing: false
  
  Properties
  
  Components
          timer
          properties
          log
  
  Endpoints
          timer://test
          log://test
  
  Routes
          route1
  
  Used Languages
  ----
  
  You can see the current Camel version used by the Camel context, some
  context attributes, the components involved in the context, and the
  endpoints defined.
  
  TIP: use kbd:[TAB] key for completion on the Camel context name.
  
  [[Karaf-camel:context-start]]
  == `camel:context-start`
  
  The `camel:context-start` command starts a given Camel context:
  
  [source,sh]
  ----
  karaf@root> camel:context-start 66-camel-3
  ----
  
  TIP: use kbd:[TAB] key for completion on the Camel context name.
  
  [[Karaf-camel:context-stop]]
  == `camel:context-stop`
  
  The `camel:context-stop` command stops a given Camel context. After
  stopping the context it becomes unavailable and cannot be started again.
  
  [source,sh]
  ----
  karaf@root> karaf@root> camel:context-stop 66-camel-3
  ----
  
  TIP: use kbd:[TAB] key for completion on the Camel context name.
  
  [[Karaf-camel:route-info]]
  == `camel:route-info`
  
  The `camel:route-info` command provides detail information about a
  Camel route:
  
  [source]
  ----
  karaf@root> camel:route-info route1
  Camel Route route1
          Camel Context: 66-camel-3
  
  Properties
                  id = route1
                  parent = 2e7aacc1
  
  Statistics
          Exchanges Total: 98
          Exchanges Completed: 98
          Exchanges Failed: 0
          Min Processing Time: 1ms
          Max Processing Time: 2ms
          Mean Processing Time: 1ms
          Total Processing Time: 134ms
          Last Processing Time: 1ms
          First Exchange Date: 2011-06-29 07:21:57
          Last Exchange Completed Date: 2011-06-29 07:23:34
  
  Definition
  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <route id="route1" xmlns="http://camel.apache.org/schema/spring">
      <from uri="timer:test"/>
      <to uri="log:test" id="to1"/>
  </route>
  ----
  
  You can see some statistics (the number of processed exchanges, the
  processing time, etc) and a XML rendering of your route (whatever DSL
  used to define the route).
  
  TIP: use kbd:[TAB] key for completion on the route name.
  
  [[Karaf-camel:route-show]]
  == `camel:route-show`
  
  The `camel:route-show` command renders the route in XML. It's
  independent from the DSL used to define the route:
  
  [source]
  ----
  karaf@root> camel:route-show route1
  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <route id="route1" xmlns="http://camel.apache.org/schema/spring">
      <from uri="timer:test"/>
      <to uri="log:test" id="to1"/>
  </route>
  ----
  
  TIP: use kbd:[TAB] key for completion on the route name.
  
  [[Karaf-camel:route-start]]
  == `camel:route-start`
  
  The `camel:route-start` command starts a Camel route:
  
  [source,sh]
  ----
  karaf@root> camel:route-start route1
  ----
  
  TIP: use kbd:[TAB] key for completion on the route name.
  
  [[Karaf-camel:route-stop]]
  == `camel:route-stop`
  
  The `camel:route-stop` command stops a Camel route:
  
  [source,sh]
  ----
  karaf@root> camel:route-stop route1
  ----
  
  [[Karaf-Camel2.9ornewer]]
  === Camel 2.9 or newer
  
  [[Karaf-camel:route-suspend]]
  == `camel:route-suspend`
  
  The `camel:route-suspend` command suspends a Camel route:
  
  [source,sh]
  ----
  karaf@root> camel:route-suspend route1
  ----
  
  TIP: use kbd:[TAB] key for completion on the route name.
  
  [[Karaf-camel:route-resume]]
  == `camel:route-resume`
  
  The `camel:route-resume` command resume a Camel route:
  
  [source,sh]
  ----
  karaf@root> camel:route-resume route1
  ----
  
  TIP: use kbd:[TAB] key for completion on the route name.
  
  [[Karaf-Camel2.10ornewer]]
  === Camel 2.10 or newer
  
  [[Karaf-camel:endpoint-list]]
  == `camel:endpoint-list`
  
  The `camel:endpoint-list` command displays the list of the endpoints
  available in all camel contexts of the current Karaf instance:
  
  [source]
  ----
  karaf@root> camel:endpoint-list
  camel-id             uri                  Status
  [test              ] [timer://test      ] [Started           ]
  [test              ] [direct://A        ] [Started           ]
  ----
  
  It displays the context name/ID (used in others commands), the URI of
  the endpoint and the current status (started/stopped).
  
  [[Karaf-Camel2.12.4ornewer]]
  === Camel 2.12.4 or newer
  
  [[Karaf-camel:context-suspend]]
  == `camel:context-suspend`
  
  The `camel:context-suspend` command suspends a given Camel context.
  It then may be resumed again.
  
  [source,sh]
  ----
  karaf@root> karaf@root> camel:context-suspend 66-camel-3
  ----
  
  TIP: use kbd:[TAB] key for completion on the Camel context name.
  
  [[Karaf-camel:context-resume]]
  == `camel:context-resume`
  
  The `camel:context-resume` command resumes a given Camel context.
  After that it returns to the _started_ state.
  
  [source,sh]
  ----
  karaf@root> karaf@root> camel:context-resume 66-camel-3
  ----
  
  TIP: use kbd:[TAB] key for completion on the Camel context name.
  
negative.code: 
  You have to install the Camel features depending of your requirements.
  
  If, in your route, you use an endpoint like `stream:out`, you have to
  install the `camel-stream` feature:
  
  