Return-Path: X-Original-To: apmail-camel-dev-archive@www.apache.org Delivered-To: apmail-camel-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 02700D7DD for ; Mon, 21 Jan 2013 09:42:32 +0000 (UTC) Received: (qmail 1353 invoked by uid 500); 21 Jan 2013 09:42:31 -0000 Delivered-To: apmail-camel-dev-archive@camel.apache.org Received: (qmail 1321 invoked by uid 500); 21 Jan 2013 09:42:31 -0000 Mailing-List: contact dev-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list dev@camel.apache.org Received: (qmail 1303 invoked by uid 99); 21 Jan 2013 09:42:30 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Jan 2013 09:42:30 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of ch007m@gmail.com designates 209.85.128.46 as permitted sender) Received: from [209.85.128.46] (HELO mail-qe0-f46.google.com) (209.85.128.46) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Jan 2013 09:42:24 +0000 Received: by mail-qe0-f46.google.com with SMTP id 1so121354qec.5 for ; Mon, 21 Jan 2013 01:42:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=6o6bwmR8LDy+gBpdVL8ANqNdChaon18/NGLTBztk9yQ=; b=O8pveYa8ULD++5syRlBUzACQ3HvI/+aoKvNRKAaIGQTBxgfK4/45A2noSB+EyF0okX /TLJudXJZFRYLwDX/ky+5YbIuPsZLoBqHqjL78mRflYdVnQKlBHE2VmkOYolpL/WIBjn JNmurUw1SJVb9wHaS0E+DjKf0ixtHpY1wghtRK89jKEu1u+XlWDS6pqO0VuPhhVZJoMk WmsKiIXQez039ALUlz77MN/P0lVii/pY9gbxwjdKJkF10fwIJTd8urlB3tQtL5bxGa4F dskRNK9xjVGWmIejLYfKq4mgU0u7aR/fcbl/hjpQFg3kwMOFq2hBqFyHpaH0SQCZZpTT 74Mw== MIME-Version: 1.0 X-Received: by 10.49.127.180 with SMTP id nh20mr21726588qeb.19.1358761322832; Mon, 21 Jan 2013 01:42:02 -0800 (PST) Received: by 10.224.52.142 with HTTP; Mon, 21 Jan 2013 01:42:02 -0800 (PST) In-Reply-To: References: Date: Mon, 21 Jan 2013 10:42:02 +0100 Message-ID: Subject: Re: Installing Camel examples in Karaf From: Charles Moulliard To: dev@camel.apache.org Content-Type: multipart/alternative; boundary=047d7b5db86cfb619704d3c94543 X-Virus-Checked: Checked by ClamAV on apache.org --047d7b5db86cfb619704d3c94543 Content-Type: text/plain; charset=ISO-8859-1 Convention is : META-INF + "/" + one directory where directory = "org.apache.karaf.shell.features" + "/" + "*.xml" where * corresponds to a features.xml file On Mon, Jan 21, 2013 at 9:28 AM, Claus Ibsen wrote: > Hi > > Charles may have pointed out about the naming of the features file. > > Should it be a file in META-INF which has this long name with all the dots? > Or should it be a features.xml file in META-INF/org/apache/... eg deep > down in a sub dir > > > > On Fri, Jan 18, 2013 at 3:41 PM, Claus Ibsen > wrote: > > Hi > > > > > > > > On Fri, Jan 18, 2013 at 2:30 PM, Guillaume Nodet > wrote: > >> Are you talking about the features deployer ? > >> Karaf has it already. You can use osgi:install feature:mvn:xxx or drop > the > >> features file in the deploy directory, or deploy any bundle which has a > >> META-INF/org.apache.karaf.shell.features/*.xml file inside. > >> > > > > Thanks I did not know about that. > > > > I looked in the docs at: > > > http://karaf.apache.org/manual/latest-2.3.x/users-guide/provisioning.html > > > > And didn't find any reference about that META-INF dir. > > > > So I tried this on Camel trunk. But didn't have the luck yet. > > Notice how the bundle get installed with 2.11-SNAPSHOT as its name. I > > guess maybe I do the install command wrong. > > > > > > > > davsclaus:/opt/apache-karaf-2.3.0$ bin/karaf > > __ __ ____ > > / //_/____ __________ _/ __/ > > / ,< / __ `/ ___/ __ `/ /_ > > / /| |/ /_/ / / / /_/ / __/ > > /_/ |_|\__,_/_/ \__,_/_/ > > > > Apache Karaf (2.3.0) > > > > Hit '' for a list of available commands > > and '[cmd] --help' for help on a specific command. > > Hit '' or 'osgi:shutdown' to shutdown Karaf. > > > > karaf@root> features: > > features:addurl features:chooseurl > > features:info features:install > > features:list features:listrepositories > > features:listurl features:listversions > > features:refreshurl features:removerepository > > features:removeurl features:uninstall > > karaf@root> features:chooseurl camel 2.11-SNAPSHOT > > adding feature url > > mvn:org.apache.camel.karaf/apache-camel/2.11-SNAPSHOT/xml/features > > karaf@root> osgi:install > > feature:mvn:org.apache.camel/camel-example-sql/2.11-SNAPSHOT > > Bundle ID: 54 > > karaf@root> la > > START LEVEL 100 , List Threshold: 0 > > ID State Blueprint Level Name > > [ 0] [Active ] [ ] [ 0] System Bundle (4.0.3) > > [ 1] [Active ] [ ] [ 5] OPS4J Pax Url - mvn: (1.3.5) > > [ 2] [Active ] [ ] [ 5] OPS4J Pax Url - wrap: (1.3.5) > > [ 3] [Active ] [ ] [ 8] OPS4J Pax Logging - Service > (1.7.0) > > [ 4] [Active ] [ ] [ 8] OPS4J Pax Logging - API > (1.7.0) > > [ 5] [Active ] [ ] [ 10] Apache Felix Configuration > > Admin Service (1.4.0) > > [ 6] [Active ] [ ] [ 11] Apache Felix File Install > (3.2.6) > > [ 7] [Active ] [Created ] [ 20] Apache Aries Blueprint Core > (1.0.1) > > [ 8] [Active ] [ ] [ 20] Apache Aries Util (1.0.0) > > [ 9] [Active ] [ ] [ 20] Apache Aries Proxy API > (1.0.0) > > [ 10] [Active ] [ ] [ 20] ASM all classes (4.0) > > [ 11] [Active ] [ ] [ 20] Apache Aries Blueprint API > (1.0.0) > > [ 12] [Active ] [ ] [ 20] Apache Aries Proxy Service > (1.0.0) > > [ 13] [Active ] [Created ] [ 20] Apache Aries Blueprint CM > (1.0.0) > > [ 14] [Active ] [Created ] [ 25] Apache Karaf :: Shell :: > > Console (2.3.0) > > [ 15] [Active ] [Created ] [ 28] Apache Karaf :: Deployer > > :: Blueprint (2.3.0) > > [ 16] [Active ] [Created ] [ 28] Apache Karaf :: Deployer > > :: Spring (2.3.0) > > [ 17] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: SSH > (2.3.0) > > [ 18] [Active ] [Created ] [ 30] Apache Karaf :: Management > (2.3.0) > > [ 19] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > > Various Commands (2.3.0) > > [ 20] [Active ] [Created ] [ 30] Apache Karaf :: Features > > :: Core (2.3.0) > > [ 21] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > > Log Commands (2.3.0) > > [ 22] [Active ] [Created ] [ 30] Apache Karaf :: Features > > :: Command (2.3.0) > > [ 23] [Active ] [Created ] [ 30] Apache Karaf :: Diagnostic > > :: Management (2.3.0) > > [ 24] [Active ] [ ] [ 30] Apache Mina SSHD :: Core > (0.8.0) > > [ 25] [Active ] [Created ] [ 30] Apache Karaf :: Deployer > > :: Wrap Non OSGi Jar (2.3.0) > > [ 26] [Active ] [ ] [ 30] Apache MINA Core (2.0.7) > > [ 27] [Active ] [Created ] [ 30] Apache Karaf :: Admin :: > > Command (2.3.0) > > [ 28] [Active ] [Created ] [ 30] Apache Karaf :: Diagnostic > > :: Command (2.3.0) > > [ 29] [Active ] [ ] [ 30] Apache Aries JMX Core (1.0.1) > > [ 30] [Active ] [ ] [ 30] Apache Karaf :: Diagnostic > > :: Core (2.3.0) > > [ 31] [Active ] [Created ] [ 30] Apache Karaf :: Admin :: > > Management (2.3.0) > > [ 32] [Active ] [ ] [ 30] Apache Aries JMX API (1.0.0) > > [ 33] [Active ] [Created ] [ 30] Apache Karaf :: Diagnostic > > :: Common (2.3.0) > > [ 34] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > > Development Commands (2.3.0) > > [ 35] [Active ] [Created ] [ 30] Apache Karaf :: Deployer > > :: Features (2.3.0) > > [ 36] [Active ] [ ] [ 30] Apache Aries JMX Blueprint > > API (1.0.0) > > [ 37] [Active ] [Created ] [ 30] Apache Karaf :: Jaas :: > > Command (2.3.0) > > [ 38] [Active ] [Created ] [ 30] Apache Karaf :: JAAS :: > > Modules (2.3.0) > > [ 39] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > > OSGi Commands (2.3.0) > > [ 40] [Active ] [Created ] [ 30] Apache Karaf :: Features > > :: Management (2.3.0) > > [ 41] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > > PackageAdmin Commands (2.3.0) > > [ 42] [Active ] [ ] [ 30] Apache Aries JMX Blueprint > > Core (1.0.1) > > [ 43] [Active ] [Created ] [ 30] Apache Karaf :: Admin :: > > Core (2.3.0) > > [ 44] [Active ] [Created ] [ 30] Apache Karaf :: Deployer > > :: Karaf Archive (.kar) (2.3.0) > > [ 45] [Active ] [Created ] [ 30] Apache Karaf :: JAAS :: > > Config (2.3.0) > > [ 46] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > > ConfigAdmin Commands (2.3.0) > > [ 47] [Active ] [Created ] [ 30] Apache Karaf :: Management > > :: MBeans :: System (2.3.0) > > [ 48] [Active ] [Created ] [ 30] Apache Karaf :: Management > > :: MBeans :: Bundles (2.3.0) > > [ 49] [Active ] [Created ] [ 30] Apache Karaf :: Management > > :: MBeans :: Services (2.3.0) > > [ 50] [Active ] [Created ] [ 30] Apache Karaf :: Management > > :: MBeans :: Config (2.3.0) > > [ 51] [Active ] [Created ] [ 30] Apache Karaf :: Management > > :: MBeans :: Log (2.3.0) > > [ 52] [Active ] [Created ] [ 30] Apache Karaf :: Management > > :: MBeans :: Packages (2.3.0) > > [ 53] [Active ] [Created ] [ 30] Apache Karaf :: Management > > :: MBeans :: Dev (2.3.0) > > [ 54] [Installed ] [ ] [ 80] 2.11-SNAPSHOT (0.0.0) > > > > > > And the example contains the features.xml in that directory. > > > > > > davsclaus:~/workspace/camel/examples/camel-example-sql$ tar -tf > > target/camel-example-sql-2.11-SNAPSHOT.jar > > META-INF/MANIFEST.MF > > META-INF/ > > META-INF/DEPENDENCIES > > META-INF/LICENSE > > META-INF/LICENSE.txt > > META-INF/NOTICE > > META-INF/NOTICE.txt > > META-INF/maven/ > > META-INF/maven/org.apache.camel/ > > META-INF/maven/org.apache.camel/camel-example-sql/ > > META-INF/maven/org.apache.camel/camel-example-sql/pom.properties > > META-INF/maven/org.apache.camel/camel-example-sql/pom.xml > > META-INF/org/ > > META-INF/org/apache/ > > META-INF/org/apache/karaf/ > > META-INF/org/apache/karaf/shell/ > > META-INF/org/apache/karaf/shell/features/ > > META-INF/org/apache/karaf/shell/features/features.xml > > META-INF/spring/ > > META-INF/spring/camel-context.xml > > log4j.properties > > org/ > > org/apache/ > > org/apache/camel/ > > org/apache/camel/example/ > > org/apache/camel/example/sql/ > > org/apache/camel/example/sql/DatabaseBean.class > > org/apache/camel/example/sql/OrderBean.class > > sql.properties > > > > > > > >> > >> On Fri, Jan 18, 2013 at 12:46 PM, Achim Nierbeck < > bcanhome@googlemail.com>wrote: > >> > >>> Hi Clause, > >>> > >>> thanks for summing up what we talked of on IRC :) > >>> > >>> I think it could be even easier. > >>> We could add a bundle tracker for features.xml files that will install > >>> those with the features service. > >>> For this we don't even need a special syntax of the osgi:install url > >>> (and actually if you want a url-handler to take control of it you need > >>> osgi:install features:mvn:xxxx) > >>> > >>> Something like the web-extender of pax-web could be done, and should be > >>> quite easy. > >>> > >>> regards, Achim > >>> > >>> > >>> 2013/1/18 Claus Ibsen > >>> > >>> > Hi > >>> > > >>> > So when people get started with Apache Karaf and Camel (eg not going > >>> > down the full ESB with SMX) then I would like to make that much > >>> > easier. > >>> > For example to tell them how easy you can install some of the > examples > >>> > we provided with Apache Camel > >>> > http://camel.apache.org/examples > >>> > > >>> > Many of these examples have been prepared for OSGi and have embedded > >>> > features.xml file, so in theory they are ready to install. > >>> > > >>> > Though I could not find a way to install the example in Karaf without > >>> pain. > >>> > > >>> > eg I want to do > >>> > > >>> > cd apache-karaf-2.3.0 > >>> > bin/karaf > >>> > > >>> > features:choose camel 2.11.0 > >>> > > >>> > // and how to install my example, such as camel-example-sql > >>> > ????? > >>> > > >>> > > >>> > The camel features does not contain examples. > >>> > And frankly I would like Karaf to be able to install a bundle but use > >>> > the features.xml file that is included in the JAR in the root > >>> > classpath. (Or some other directory if Karaf has a standard for > that). > >>> > > >>> > Maybe I can type, eg notice the :feature in the command > >>> > > >>> > osgi:install mvn:feature:org.apache/camel/camel-example-sql/2.11.0 > >>> > > >>> > Or some other way to install it. > >>> > > >>> > Then people just need to download Karaf, and they can install Camel > >>> > and the examples from Maven. > >>> > > >>> > Now I want them to be able to do this for their custom application as > >>> > well, so they can do > >>> > > >>> > osgi:install file:feature:/dev/myproject/target/myapp-1.0.jar > >>> > > >>> > Or something like that. > >>> > > >>> > > >>> > So how can we make it easier for people to install and try Camel > >>> > examples in vanilla Apache Karaf containers? > >>> > And how can we make it easier for people to install their own > >>> > applications in vanilla Apache Karaf containers, > >>> > which uses features.xml file to declare their dependencies. > >>> > > >>> > And NO they do NOT want to use KAR files or some Karaf specific. > Their > >>> > applications should be plain JARs > >>> > that can also run outside Karaf as well. > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> > -- > >>> > Claus Ibsen > >>> > ----------------- > >>> > Red Hat, Inc. > >>> > FuseSource is now part of Red Hat > >>> > Email: cibsen@redhat.com > >>> > Web: http://fusesource.com > >>> > Twitter: davsclaus > >>> > Blog: http://davsclaus.com > >>> > Author of Camel in Action: http://www.manning.com/ibsen > >>> > > >>> > >>> > >>> > >>> -- > >>> > >>> Apache Karaf Committer & PMC > >>> OPS4J Pax Web > Committer & > >>> Project Lead > >>> OPS4J Pax for Vaadin < > http://team.ops4j.org/wiki/display/PAXVAADIN/Home> > >>> Commiter & Project Lead > >>> blog > >>> > >> > >> > >> > >> -- > >> ------------------------ > >> Guillaume Nodet > >> ------------------------ > >> Blog: http://gnodet.blogspot.com/ > >> ------------------------ > >> FuseSource, Integration everywhere > >> http://fusesource.com > > > > > > > > -- > > Claus Ibsen > > ----------------- > > Red Hat, Inc. > > FuseSource is now part of Red Hat > > Email: cibsen@redhat.com > > Web: http://fusesource.com > > Twitter: davsclaus > > Blog: http://davsclaus.com > > Author of Camel in Action: http://www.manning.com/ibsen > > > > -- > Claus Ibsen > ----------------- > Red Hat, Inc. > FuseSource is now part of Red Hat > Email: cibsen@redhat.com > Web: http://fusesource.com > Twitter: davsclaus > Blog: http://davsclaus.com > Author of Camel in Action: http://www.manning.com/ibsen > -- Charles Moulliard Apache Committer / Sr. Enterprise Architect (RedHat) Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com --047d7b5db86cfb619704d3c94543--