Yes, you need to manage dependencies in OSGi. On Jul 30, 2012, at 12:32 PM, Ephemeris Lappis wrote:
> Hello. > > I don't understand what you mean : should I explicitly put the > "Dynamic-Import: *" in my bundle instructions ? > Thanks. > > Ephemeris Lappis > > Le 30/07/2012 18:42, Johan Edstrom-2 [via ServiceMix] a écrit : >> A blueprint file deployed is going to be setup with a >> Dynamic-Import: * >> >> Which is pretty expensive for the framework, a bundle with blueprint >> on your >> classpath is going to need the correct imports and exports. >> >> /je >> On Jul 30, 2012, at 10:35 AM, Jon Anstey wrote: >> >>> The maven-bundle-plugin won't detect what Camel components you are >> using >>> and make sure those are installed. To do this you will need to use a >>> feature for your application >>> >> http://karaf.apache.org/manual/latest-2.2.x/users-guide/provisioning.htmlYou >>> can create one something like this: >>> >>> <feature name="myapp" version="${project.version}"> >>> <feature>camel-core</feature> >>> <feature>camel-blueprint</feature> >>> <feature>camel-activemq</feature> >>> ... >>> <bundle>mvn:myapp/myapp/${project.version}</bundle> >>> </feature> >>> >>> Now, when you install "myapp" feature, all the Camel components you >> need >>> will be installed as well. >>> >>> If you want to enforce the various package imports are there at the >> OSGi >>> bundle level, you can always add them in manually with the >> <Import-Package> >>> instruction. >>> >>> Cheers, >>> Jon >>> >>> On Fri, Jul 27, 2012 at 1:41 PM, Ephemeris Lappis < >>> [hidden email] </user/SendEmail.jtp?type=node&node=5714023&i=0>> wrote: >>> >>>> Hello. >>>> >>>> It seems that dependencies for a blueprint file depend on the way >> it is >>>> deployed. >>>> >>>> In a first step, I directly copy the blueprint XML file to the deploy >>>> folder, and it works as expected. >>>> >>>> In a second step, I package the same file into a bundle using the >> felix >>>> maven plugin, and deploy the generated JAR into the deploy folder. >> In this >>>> case, an error is produced during the deployment : >>>> >>>> java.lang.NoClassDefFoundError: groovy/lang/Script >>>> >>>> I've not tested other cases, but I suppose that it may do the same >> error >>>> for >>>> other Camel component like it does with groovy in my example. >>>> >>>> When I look at the first bundle description in the web console, I >> can see a >>>> list of all the actual dependent modules in the imported packages : >>>> >>>> groovy.lang,version=1.8.5 from groovy-all (219) >>>> groovyjarjarantlr,version=1.8.5 from groovy-all (219) >>>> org.apache.activemq,version=5.5.1 from >> org.apache.activemq.activemq-core >>>> (50) >>>> org.apache.camel,version=2.8.5 from org.apache.camel.camel-core (91) >>>> org.apache.camel.blueprint,version=2.8.5 from >>>> org.apache.camel.camel-blueprint (152) >>>> org.apache.camel.impl,version=2.8.5 from >> org.apache.camel.camel-core (91) >>>> org.apache.camel.spi,version=2.8.5 from org.apache.camel.camel-core >> (91) >>>> org.codehaus.groovy.reflection,version=1.8.5 from groovy-all (219) >>>> org.codehaus.groovy.runtime.callsite,version=1.8.5 from groovy-all >> (219) >>>> org.osgi.service.blueprint.container,version=1.0.1 from >>>> org.apache.aries.blueprint (10) >>>> >>>> In the second case, the maven plugin only sets the >>>> "org.osgi.service.blueprint" in the imported packages list in the >> manifest. >>>> Indeed, It seems that all the OSGi part of my blueprint is taken into >>>> account, but nothing from the camel context... Nothing seems to be >> done at >>>> deployment time to add the camel components dependences... >>>> >>>> Where is the error ? Should I do something different to build the >> JAR with >>>> the maven plugin ? >>>> >>>> Thanks for you help. >>>> >>>> http://servicemix.396122.n5.nabble.com/file/n5714018/camel-context.xml >>>> camel-context.xml >>>> http://servicemix.396122.n5.nabble.com/file/n5714018/pom.xml pom.xml >>>> >>>> >>>> >>>> -- >>>> View this message in context: >>>> >> http://servicemix.396122.n5.nabble.com/Camel-classpath-using-blueprint-inside-an-OSGi-bundle-tp5714018.html >>>> Sent from the ServiceMix - User mailing list archive at Nabble.com. >>>> >>> >>> >>> >>> -- >>> Cheers, >>> Jon >>> --------------- >>> FuseSource >>> Email: [hidden email] </user/SendEmail.jtp?type=node&node=5714023&i=1> >>> Web: fusesource.com >>> Twitter: jon_anstey >>> Blog: http://janstey.blogspot.com >>> Author of Camel in Action: http://manning.com/ibsen >> >> >> >> ------------------------------------------------------------------------ >> If you reply to this email, your message will be added to the >> discussion below: >> http://servicemix.396122.n5.nabble.com/Camel-classpath-using-blueprint-inside-an-OSGi-bundle-tp5714018p5714023.html >> >> >> To unsubscribe from Camel classpath using blueprint inside an OSGi >> bundle, click here >> <http://servicemix.396122.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5714018&code=ZXBoZW1lcmlzLmxhcHBpc0BnbWFpbC5jb218NTcxNDAxOHw0OTQyMjM2NDI=>. >> NAML >> <http://servicemix.396122.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> >> >> > > > > > > -- > View this message in context: > http://servicemix.396122.n5.nabble.com/Camel-classpath-using-blueprint-inside-an-OSGi-bundle-tp5714018p5714025.html > Sent from the ServiceMix - User mailing list archive at Nabble.com.
