Assuming that you have a running Karaf instance, you can register the Camel features descriptor:
Now, we have all Camel features available:
karaf@root> features:list|grep -i camel
[uninstalled] [2.8.0 ] camel repo-0
[uninstalled] [2.8.0 ] camel-core repo-0
[uninstalled] [2.8.0 ] camel-spring repo-0
[uninstalled] [2.8.0 ] camel-blueprint repo-0
[uninstalled] [2.8.0 ] camel-test repo-0
[uninstalled] [2.8.0 ] camel-cxf repo-0
[uninstalled] [2.8.0 ] camel-cache repo-0
[uninstalled] [2.8.0 ] camel-castor repo-0
[uninstalled] [2.8.0 ] camel-crypto repo-0
[uninstalled] [2.8.0 ] camel-http repo-0
[uninstalled] [2.8.0 ] camel-http4 repo-0
[uninstalled] [2.8.0 ] camel-mina repo-0
[uninstalled] [2.8.0 ] camel-jetty repo-0
[uninstalled] [2.8.0 ] camel-servlet repo-0
[uninstalled] [2.8.0 ] camel-jms repo-0
...
To install Camel, just install the camel feature:
karaf@root> features:install camel
You have to install the Camel features depending of your requirements.
For instance, if you want to use blueprint as Camel DSL, you have to install the camel-blueprint feature:
karaf@root> features:install camel-blueprint
If, if your route, you use an endpoint like "stream:out", you have to install the camel-stream feature:
karaf@root> features:install camel-stream
Karaf commands
When you install the camel feature, new Karaf commands become available automatically.
camel:list-contexts
The *camel:list-contexts* command displays the list of CamelContext available in the current Karaf instance:
karaf@root> camel:list-contexts
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).
camel:list-routes
The *camel:list-routes* command displays the list of Camel routes available in the current Karaf instance:
karaf@root> camel:list-routes
[route1 ]
You can also filter the routes by CamelContext:
karaf@root> camel:list-routes 66-camel-3
[route1 ]
Tip: use the TAB key to completion on the CamelContext ID.
camel:info-context
The *camel:info-context* command displays detail information about a given CamelContext:
karaf@root> camel:info-context 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: log:
Routes
route1
Used Languages
You can see the current Camel version used by the CamelContext, some context attributes, the components involved in the context, and the endpoints defined.
Tip: use TAB key for completion on the CamelContext name.
camel:start-context
The *camel:start-context* command starts a given CamelContext:
karaf@root> camel:start-context 66-camel-3
Tip: use TAB key for completion on the CamelContext name.
camel:stop-context
The *camel:stop-context* command stops a given CamelContext:
karaf@root> karaf@root> camel:stop-context 66-camel-3
Tip: use TAB key for completion on the CamelContext name.
camel:info-route
The *camel:info-route* command provides detail information about a Camel route:
karaf@root> camel:info-route 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:>
<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 TAB key for completion on the route name.
camel:show-route
The *camel:show-route* command renders the route in XML. It's independent from the DSL used to define the route:
karaf@root> camel:show-route route1
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<route id="route1" xmlns="http:>
<from uri="timer:test"/>
<to uri="log:test" id="to1"/>
</route>
Tip: use TAB key for completion on the route name.
camel:start-route
The *camel:start-route* command starts a Camel route:
karaf@root> camel:start-route route1
Tip: use TAB key for completion on the route name.
camel:stop-route
The *camel:stop-route* command stops a Camel route:
karaf@root> camel:stop-route route1
Tip: use TAB key for completion on the route name.