On 22/01/13 11:42, Achim Nierbeck wrote:
hmm, afairc the deployment of a feature.xml embedded in a jar was meant to
work this way. It was supposed to install just the feature itself without
starting it right away. This was planned to work this way since it might
result in "Downloading the complete internet" if someone isn't careful with
the features description. We need to check the mailinglist archive on how
we decided.

regards, Achim


2013/1/22 Charles Moulliard <[email protected]>

Hi Claus,

Procedure to deploy camel example with this instruction install -s
feature:mvn:org.apache.camel/camel-example-sql/2.11-SNAPSHOT works fine now
with that modification (https://issues.apache.org/jira/browse/KARAF-2134)
EXCEPTED that the feature content (= bundles) are not installed. Guillaume
has created a ticket to resolve this issue I think so (?)

Remark : Don't think that drag/drop the bundle of camel-example-sql in
deploy directory will work for the reason explained before (but you could
make a test)

Regards,

Charles


On Tue, Jan 22, 2013 at 10:08 AM, Claus Ibsen <[email protected]>
wrote:

On Mon, Jan 21, 2013 at 3:50 PM, Charles Moulliard <[email protected]>
wrote:
Works better. Nevertheless the features defined in the features file
deployed as a bundle are not deployed. Here is an example

[ 127] [Installed  ] [            ] [   80] camel-example-sql
(2.11.0.SNAPSHOT) // CONTAINS FEATURES.XML FILE
karaf@root> listurl
  Loaded   URI
   true
  bundle://118.0:0/META-INF/org.apache.karaf.shell.features/features.xml
<--
WELL DEPLOYED

Definition of the features camel-example-sql

karaf@root> features:info camel-example-sql
Description of camel-example-sql 2.11-SNAPSHOT feature
----------------------------------------------------------------
Feature has no configuration
Feature has no configuration files
Feature depends on:
   camel 2.11-SNAPSHOT
   camel-spring 2.11-SNAPSHOT
   camel-sql 2.11-SNAPSHOT
Feature contains followed bundles:
  mvn:org.apache.derby/derby/10.9.1.0
  mvn:mvn:commons-pool/commons-pool/1.6

  
mvn:mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/1.4_3
  mvn:org.apache.camel/camel-example-sql/2.11-SNAPSHOT

Excepted camel-example-sql, the others are not deployed/installed

Hi Charles

Thanks for testing the karaf changes.
So are you saying that installing the example using the features: in
the url handler now works better.
But doesn't work fully yet?

So are you saying for example that bundles like commons-pool / derby
JDBC driver etc. which
is listed in the features.xml file is not installed?

Also did you try installing the example by dropping the JAR into the
deploy directory?

Though I assume you have prior to that installed camel 2.11 in karaf
beforehand?




On Mon, Jan 21, 2013 at 2:42 PM, Guillaume Nodet <[email protected]>
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 <[email protected]
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 <[email protected]
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 <
[email protected]
wrote:
Hi



On Fri, Jan 18, 2013 at 2:30 PM, Guillaume Nodet <
[email protected]>
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 <
[email protected]>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 <[email protected]>

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: [email protected]
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: [email protected]
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: [email protected]
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



--
Charles Moulliard
Apache Committer / Sr. Enterprise Architect (RedHat)
Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com


--
Claus Ibsen
-----------------
Red Hat, Inc.
FuseSource is now part of Red Hat
Email: [email protected]
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



- To be consistant with what we have done, If we can deploy a features xml file using a KAR archive then we should be able to do the same thing with a bundle.

- I agree on your remark that there is a risk as we cannot easily determine if the feature xml files contains a few bundles + configuration files OR the full list of camel bundles

Reply via email to