You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Christian Müller <ch...@gmail.com> on 2012/11/17 12:57:36 UTC

Re: [CONF] Apache Camel > Karaf

Ben, do you also consider updating the Camel 2.11 release page [1]. Maybe
in the section "API changes/breaking" and/or "Important changes to consider
when upgrading" and/or "New Camel Karaf Command".

[1] http://camel.apache.org/camel-2110-release.html

Best,
Christian

On Sat, Nov 17, 2012 at 6:59 AM, <co...@apache.org> wrote:

>    Karaf <https://cwiki.apache.org/confluence/display/CAMEL/Karaf> Page *
> edited* by Ben O'Day <https://cwiki.apache.org/confluence/display/~boday>
> *Comment:* updated per CAMEL-5388 and updated command names to new format
>
> Changes (30)
>  ...
>
>
> h3. camel:list-contexts camel:context-list
>
> The **camel:list-contexts*\* **camel:context-list*\* command displays the
> list of CamelContext available in the current Karaf instance:
>
> {code}
> karaf@root> camel:list-contexts 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).
>
> h3. camel:list-routes camel:route-list
>
> The **camel:list-routes*\* **camel:route-list*\* command displays the
> list of Camel routes available in the current Karaf instance:
>
> {code}
> karaf@root> camel:list-routes camel:route-list
> [route1 ]
> {code}
> ...
>
> {code}
> karaf@root> camel:list-routes camel:route-list 66-camel-3
> [route1 ]
> {code}
> ...
> h3. camel:info-context
>
> The **camel:info-context*\* **camel:context-info*\* command displays
> detail information about a given CamelContext:
>
> add the **--verbose** option (following the context name) to also list the
> endpoints
>
> {code}
> karaf@root> camel:info-context camel:context-info 66-camel-3
> Camel Context 66-camel-3
> Name: 66-camel-3
> ...
> _Tip: use TAB key for completion on the CamelContext name._
>
> h3. camel:start-context camel:context-start
>
> The **camel:start-context*\* **camel:context-start*\* command starts a
> given CamelContext:
>
> {code}
> karaf@root> camel:start-context camel:context-start 66-camel-3
> {code}
>
> _Tip: use TAB key for completion on the CamelContext name._
>
> h3. camel:stop-context camel:context-stop
>
> The **camel:stop-context*\* **camel:context-stop*\* command stops a given
> CamelContext:
>
> {code}
> karaf@root> karaf@root> camel:stop-context camel:context-stop 66-camel-3
> {code}
>
> _Tip: use TAB key for completion on the CamelContext name._
>
> h3. camel:info-route camel:route-info
>
> The **camel:info-route*\* **camel:route-info*\* command provides detail
> information about a Camel route:
>
> {code}
> karaf@root> camel:info-route camel:route-info route1
> Camel Route route1
> Camel Context: 66-camel-3
> ...
> _Tip: use TAB key for completion on the route name._
>
> h3. camel:show-route camel:route-show
>
> The **camel:show-route*\* **camel:route-show*\* command renders the route
> in XML. It's independent from the DSL used to define the route:
>
> {code}
> karaf@root> camel:show-route camel:route-show route1
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <route id="route1" xmlns="http://camel.apache.org/schema/spring">
> ...
> _Tip: use TAB key for completion on the route name._
>
> h3. camel:start-route camel:route-start
>
> The **camel:start-route*\* **camel:route-start*\* command starts a Camel
> route:
>
> {code}
> karaf@root> camel:start-route camel:route-start route1
> {code}
>
> _Tip: use TAB key for completion on the route name._
>
> h3. camel:stop-route camel:route-stop
>
> The **camel:stop-route*\* **camel:route-stop*\* command stops a Camel
> route:
>
> {code}
> karaf@root> camel:stop-route camel:route-stop route1
> {code}
>
> ...
> h3. camel:route-suspend
>
> The **camel:start-route*\* **camel:route-suspend*\* command suspends a
> Camel route:
> {code}
> karaf@root> camel:route-suspend route1
> ...
> _Tip: use TAB key for completion on the route name._
>
> h3. camel:resume-route camel:route-resume
>
> The **camel:route-resume*\* command resume a Camel route:
> ...
>  Full Content
> Karaf Support
>
> Apache Camel is designed to work nicely into Apache Karaf<http://karaf.apache.org>OSGi container.
>
> It includes:
>
>    - 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.
>    *NB: 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.
>   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.0
> 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.
> *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.
> Install Camel in Karaf
>
> Assuming that you have a running Karaf instance, you can register the
> Camel features descriptor:
>
> karaf@root> features:addurl mvn:org.apache.camel.karaf/apache-camel/2.8.2/xml/features
>
>  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
> 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://test        log://test
> 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://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 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://camel.apache.org/schema/spring">    <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      ] [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).
>   Change Notification Preferences<https://cwiki.apache.org/confluence/users/viewnotifications.action>
> View Online <https://cwiki.apache.org/confluence/display/CAMEL/Karaf> | View
> Changes<https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=27820272&revisedVersion=18&originalVersion=17>| Add
> Comment<https://cwiki.apache.org/confluence/display/CAMEL/Karaf?showComments=true&showCommentArea=true#addcomment>
>



--