Did you also start the bundle? To my understanding a bundle-tracker is only
able to kick in when a bundle is fully resolved. Therefore a start is
needed. You might also do this right when installing with osgi:instll -s
mvn:xxxx

regards, Achim


2013/1/18 Claus Ibsen <claus.ib...@gmail.com>

> Hi
>
>
>
> On Fri, Jan 18, 2013 at 2:30 PM, Guillaume Nodet <gno...@gmail.com> 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 <
> bcanh...@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 <claus.ib...@gmail.com>
> >>
> >> > 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: cib...@redhat.com
> >> > Web: http://fusesource.com
> >> > Twitter: davsclaus
> >> > Blog: http://davsclaus.com
> >> > Author of Camel in Action: http://www.manning.com/ibsen
> >> >
> >>
> >>
> >>
> >> --
> >>
> >> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> >> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
> Committer &
> >> Project Lead
> >> OPS4J Pax for Vaadin <http://team.ops4j.org/wiki/display/PAXVAADIN/Home
> >
> >> Commiter & Project Lead
> >> blog <http://notizblog.nierbeck.de/>
> >>
> >
> >
> >
> > --
> > ------------------------
> > 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: cib...@redhat.com
> Web: http://fusesource.com
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
>



-- 

Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
OPS4J Pax for Vaadin <http://team.ops4j.org/wiki/display/PAXVAADIN/Home>
Commiter & Project Lead
blog <http://notizblog.nierbeck.de/>

Reply via email to