camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Installing Camel examples in Karaf
Date Mon, 21 Jan 2013 08:04:27 GMT
On Sun, Jan 20, 2013 at 6:55 PM, Achim Nierbeck <bcanhome@googlemail.com> wrote:
> 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
>

Good question so I repeated this morning.

1) copy to deploy directory

When I copy the example JAR to the deploy directory, then the listing says:

[  76] [Active     ] [            ] [       ] [   50]
geronimo-jta_1.1_spec (1.1.1)
[  77] [Active     ] [            ] [       ] [   50] camel-spring
(2.11.0.SNAPSHOT)
[  78] [Active     ] [Created     ] [       ] [   50] camel-blueprint
(2.11.0.SNAPSHOT)
[  79] [Installed  ] [            ] [       ] [   80]
camel-example-sql (2.11.0.SNAPSHOT)


But the bundle fails starting as the dependent features/bundle is not installed

2013-01-21 09:02:00,818 | WARN  | raf-2.3.0/deploy | fileinstall
               | ?                                   ? | 6 -
org.apache.felix.fileinstall - 3.2.6 | Error while starting bundle:
file:/opt/apache-karaf-2.3.0/deploy/camel-example-sql-2.11-SNAPSHOT.jar
org.osgi.framework.BundleException: Unresolved constraint in bundle
org.apache.camel.camel-example-sql [79]: Unable to resolve 79.0:
missing requirement [79.0] osgi.wiring.package;
(&(osgi.wiring.package=org.apache.camel.component.sql)(version>=2.11.0)(!(version>=2.12.0)))
	at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)[org.apache.felix.framework-4.0.3.jar:]
	at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)[org.apache.felix.framework-4.0.3.jar:]
	at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:944)[org.apache.felix.framework-4.0.3.jar:]

But notice at least the bundle symbolic name is used in the listing,
so you can see its actual name "camel-example-sql".


2) by installing from shell

karaf@root> osgi:install -s
feature:mvn:org.apache.camel/camel-example-sql/2.11-SNAPSHOT
Bundle ID: 79

And in the listing we see the bundle has the 2.11-SNAPSHOT as its name.

[  75] [Active     ] [            ] [       ] [   30] Spring
Transaction (3.0.7.RELEASE)
[  76] [Active     ] [            ] [       ] [   50]
geronimo-jta_1.1_spec (1.1.1)
[  77] [Active     ] [            ] [       ] [   50] camel-spring
(2.11.0.SNAPSHOT)
[  78] [Active     ] [Created     ] [       ] [   50] camel-blueprint
(2.11.0.SNAPSHOT)
[  79] [Active     ] [            ] [       ] [   80] 2.11-SNAPSHOT (0.0.0)


And in the logs there is no traces of the example and other
features/bundles being installed.

karaf@root> log:tail
2013-01-21 09:03:16,718 | WARN  | l Console Thread |
MavenRepositoryURL               | maven.commons.MavenRepositoryURL
116 | 1 - org.ops4j.pax.url.mvn - 1.3.5 | Repository spec
http://oss.sonatype.org/content/repositories/releases/ does not
contain an identifier. This is deprecated & discouraged & just evil.
2013-01-21 09:03:21,133 | INFO  | l Console Thread | Activator
               | apache.camel.impl.osgi.Activator   84 | 60 -
org.apache.camel.camel-core - 2.11.0.SNAPSHOT | Camel activator
starting
2013-01-21 09:03:21,162 | INFO  | l Console Thread | Activator
               | apache.camel.impl.osgi.Activator   87 | 60 -
org.apache.camel.camel-core - 2.11.0.SNAPSHOT | Camel activator
started
2013-01-21 09:03:21,468 | INFO  | l Console Thread |
ContextLoaderListener            | .activator.ContextLoaderListener
354 | 73 - org.springframework.osgi.extender - 1.2.1 | Starting
[org.springframework.osgi.extender] bundle v.[1.2.1]
2013-01-21 09:03:21,604 | INFO  | l Console Thread |
ExtenderConfiguration            | al.support.ExtenderConfiguration
150 | 73 - org.springframework.osgi.extender - 1.2.1 | No custom
extender configuration detected; using defaults...
2013-01-21 09:03:21,614 | INFO  | l Console Thread | TimerTaskExecutor
               | heduling.timer.TimerTaskExecutor  106 | 68 -
org.springframework.context - 3.0.7.RELEASE | Initializing Timer





> regards, Achim
>
>
> 2013/1/18 Claus Ibsen <claus.ibsen@gmail.com>
>
>> Hi
>>
>>
>>
>> On Fri, Jan 18, 2013 at 2:30 PM, Guillaume Nodet <gnodet@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 <
>> 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 <claus.ibsen@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: 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 <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: 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 <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/>



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

Mime
View raw message