Here are the versions that are compatible.
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.
This file has to be copied into Karaf etc folder.
Assuming that you have a running Karaf instance, you can register the Camel features descriptor:
From Karaf 2.2.6 onwards this has been simplified as there is a new features:chooseurl command that is pre-setup for Camel
karaf@root> features:chooseurl camel 2.9.1
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.
Karaf commands in Camel 2.8.x
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 commands in Camel 2.9 onwards
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 |
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 commands in Camel 2.10 onwards
Command |
Description |
camel:endpoint-list |
Lists endpoints fromm all camel contexts available in the current Karaf instance |
Karaf commands in Camel 2.11 onwards
Command |
Description |
camel:backlog-tracer-info |
Provides detail information about the BacklogTracer |
camel:backlog-tracer-dump |
To dump tracing on the console from the BacklogTracer |
camel:backlog-tracer-start |
To start the BacklogTracer on route(s) |
camel:backlog-tracer-stop |
To stop the BacklogTracer on route(s) |
camel:route-profile |
To profile route(s) |
camel:route-reset-stats |
To reset performance stats on the given route(s) |
camel:context-list
The *camel:context-list* command displays the list of CamelContext available in the current Karaf instance:
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).
camel:route-list
The *camel:route-list* command displays the list of Camel routes available in the current Karaf instance:
karaf@root> camel:route-list
[route1 ]
You can also filter the routes by CamelContext:
karaf@root> camel:route-list 66-camel-3
[route1 ]
Tip: use the TAB key to completion on the CamelContext ID.
camel:info-context
The *camel:context-info* command displays detail information about a given CamelContext:
add the *--verbose* option (following the context name) to also list the endpoints
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: 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:context-start
The *camel:context-start* command starts a given CamelContext:
karaf@root> camel:context-start 66-camel-3
Tip: use TAB key for completion on the CamelContext name.
camel:context-stop
The *camel:context-stop* command stops a given CamelContext:
karaf@root> karaf@root> camel:context-stop 66-camel-3
Tip: use TAB key for completion on the CamelContext name.
camel:route-info
The *camel:route-info* command provides detail information about a Camel route:
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:>
<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:route-show
The *camel:route-show* command renders the route in XML. It's independent from the DSL used to define the route:
karaf@root> camel:route-show 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:route-start
The *camel:route-start* command starts a Camel route:
karaf@root> camel:route-start route1
Tip: use TAB key for completion on the route name.
camel:route-stop
The *camel:route-stop* command stops a Camel route:
karaf@root> camel:route-stop route1
Camel 2.9 or newer:
camel:route-suspend
The *camel:route-suspend* command suspends a Camel route:
karaf@root> camel:route-suspend route1
Tip: use TAB key for completion on the route name.
camel:route-resume
The *camel:route-resume* command resume a Camel route:
karaf@root> camel:route-resume route1
Tip: use TAB key for completion on the route name.
Camel 2.10 or newer:
camel:endpoint-list
The *camel:endpoint-list* command displays the list of the endpoints available in all camel contexts of the current Karaf instance:
karaf@root> camel:endpoint-list
camel-id uri Status
[test ] [timer:[test ] [direct:
It displays the context name/ID (used in others commands), the URI of the endpoint and the current status (started/stopped).