Hi Guillaume,

I just found your post below as I was playing with the installation of a
Camel example (camel-example-osgi on the master branch) into Karaf 2.3.1 and
hope you could tell me where I'm going wrong here. Yes dropping features.xml
into the deploy folder would work (beforehand one should change
${project.version} inside features.xml of this example with the effective
version, in my case 2.12.0-SNAPSHOT).

However my intention is to install and run this example through the Karaf
command-line itself USING the features.xml file (as you've already
raised/resolved https://issues.apache.org/jira/browse/KARAF-2134), so here
we go:

~/Downloads/apache-karaf-2.3.1/bin>./karaf 
        __ __                  ____      
       / //_/____ __________ _/ __/      
      / ,<  / __ `/ ___/ __ `/ /_        
     / /| |/ /_/ / /  / /_/ / __/        
    /_/ |_|\__,_/_/   \__,_/_/         

  Apache Karaf (2.3.1)

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'osgi:shutdown' or 'logout' to shutdown Karaf.

karaf@root> osgi:install -s
feature:mvn:org.apache.camel/camel-example-osgi/2.12-SNAPSHOT
Bundle ID: 54
karaf@root> osgi:list
START LEVEL 100 , List Threshold: 50
   ID   State         Blueprint      Level  Name
[  54] [Active     ] [            ] [   80] camel-example-osgi
(2.12.0.SNAPSHOT)
karaf@root> log:tail
2013-05-18 22:39:13,923 | INFO  | rint Extender: 3 | SecurityUtils              
     
| e.sshd.common.util.SecurityUtils   80 | 29 - org.apache.sshd.core - 0.8.0
| BouncyCastle not registered, using the default JCE provider
^C

karaf@root> 


So it claims the bundle would be in state "Active" but the Camel route is
not running at all! (no output inside the log)! Also the version number
being listed by the "osgi:list" command seems a bit strange, why does it
change the dash with dot? (2.12.0.SNAPSHOT instead of 2.12.0-SNAPSHOT).

On the other hand installation of this example would work properly if one
would try the way the README.txt of this example says, however it would be
great if the users could install the examples with ONE single command using
the features.xml file of a given example which would hide/take over the
installation of all those features/bundles being required for a given
example.

Babak


Guillaume Nodet wrote
> Raised and fixed https://issues.apache.org/jira/browse/KARAF-2134
> The workaround is to use the plain http url instead of the mvn url.
> 
> 
> On Mon, Jan 21, 2013 at 10:42 AM, Charles Moulliard &lt;

> ch007m@

> &gt;wrote:
> 
>> 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 &lt;

> claus.ibsen@

> &gt;
>> 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 &lt;

> claus.ibsen@

> &gt;
>> > wrote:
>> > > Hi
>> > >
>> > >
>> > >
>> > > On Fri, Jan 18, 2013 at 2:30 PM, Guillaume Nodet &lt;

> gnodet@

> &gt;
>> > 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 '
> <tab>
> ' for a list of available commands
>> > > and '[cmd] --help' for help on a specific command.
>> > > Hit '
> <ctrl-d>
> ' 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@

>>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 &lt;

> claus.ibsen@

> &gt;
>> > >>>
>> > >>> > 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@

>> > >>> > Web: http://fusesource.com
>> > >>> > Twitter: davsclaus
>> > >>> > Blog: http://davsclaus.com
>> > >>> > Author of Camel in Action: http://www.manning.com/ibsen
>> > >>> >
>> > >>>
>> > >>>
>> > >>>
>> > >>> --
>> > >>>
>> > >>> Apache Karaf &lt;http://karaf.apache.org/&gt; Committer & PMC
>> > >>> OPS4J Pax Web &lt;http://wiki.ops4j.org/display/paxweb/Pax+Web/&gt;
>> > Committer &
>> > >>> Project Lead
>> > >>> OPS4J Pax for Vaadin <
>> > http://team.ops4j.org/wiki/display/PAXVAADIN/Home>
>> > >>> Commiter & Project Lead
>> > >>> blog &lt;http://notizblog.nierbeck.de/&gt;
>> > >>>
>> > >>
>> > >>
>> > >>
>> > >> --
>> > >> ------------------------
>> > >> 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@

>> > > 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@

>> > 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
>>
> 
> 
> 
> -- 
> ------------------------
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> FuseSource, Integration everywhere
> http://fusesource.com





--
View this message in context: 
http://camel.465427.n5.nabble.com/Installing-Camel-examples-in-Karaf-tp5725748p5732802.html
Sent from the Camel Development mailing list archive at Nabble.com.

Reply via email to