In such cases it sometimes help to issue the refresh command. If you update a bundle another bundle using it, like a central cxf or camel bundle (in case of camel the camel-core) are still bound to the "old" uninstalled bundle. In those cases it helps to refresh these bundles after an update of the bundle containing either cxf or camel-routes. In your case I'm not sure which bundle does actually stick to an old one therefore do a general refresh, which does refresh all bundles (it actually does a re-wiring of the bundles)
regards, Achim 2014-06-19 11:00 GMT+02:00 Laci Gaspar <[email protected]>: > Thanks for your thorogh explanation. > I was playing around with the import / export configuration and now I get > an error I cannot get rid of: > Caused by: java.lang.ClassNotFoundException: > org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor not found by > my.class > > This only happens in one karaf installation. So I guess there is something > inconsistent there. > The not found class (BusWiringBeanFactoryPostProcessor) is in > org.apache.cxf/cxf-rt-core/2.7.7 which is deployed but my bundle can't find > it. > I have another bundle installed which CAN find it and the pom files are > equivalent. > > Are there any old leftovers in the cache? How can I clean up? > > Thanks for any help. > Regards > Laci > > > > On 19.06.2014 10:45, Achim Nierbeck wrote: > > Hi, > > usually the maven-bundle-plugin is pretty good in analyzing the byte > code and therefore capable of finding all needed exports/imports. > For exports you usually just do a <export-package>"!package.not.needed, > *</export-package> where you want to make sure that you don't export one of > the packages. Another way to mark those is to add those packages to the > private-packages. > For Imports you'd usually only append those packages that you know of > because of reflection, inside some other file like xml. > For example, you have a class that does load classes dynamically, those > need to be added because the maven-bundle-plugin isn't capable of finding > those. > For this you'd usually just do a <import-package>*, > package.needed.desperately</import-package> > > regards, Achim > > > 2014-06-19 8:40 GMT+02:00 Laci Gaspar <[email protected]>: > >> hmm... I followed your advice and deleted all the import and export >> configurations and now it works. Thanks. >> >> In what cases do I have to use the import / export configurations? >> >> regards, >> Laci >> >> >> On 18.06.2014 15:39, Kevin Carr wrote: >> >> In my experience, it is usually better to leave configuration empty, and >> let the bnd process figure things out for you. >> >> Occasionally you have to help it, but this sounds like it out pretty >> simple requirement. >> On Jun 18, 2014 8:36 AM, "Laci Gaspar" <[email protected]> wrote: >> >>> Hi >>> There's something I haven't quite understood yet in OSGI, it seems. >>> >>> I have two bundles (A and B) and bundle A uses a class from bundle B. >>> In my pom file of bundle A I specify in the maven-bundle-plugin >>> ... >>> <import-Package> >>> javax.xml.bind, >>> javax.xml.bind.annotation, >>> javax.xml.bind.annotation.adapters, >>> com.my.package >>> ... >>> >>> In the pom file of bundle b I say: >>> ... >>> <Export-Package> >>> com.my.package, >>> ... >>> >>> In karaf I can see with exports / imports that the configuration in the >>> poms is there. >>> >>> But when I call my web service (in bundle A) I get: >>> org.apache.cxf.interceptor.Fault: com/my/package/HospitalServiceType >>> ... >>> Caused by: java.lang.ClassNotFoundException: >>> com.my.package.HospitalServiceType not found by <bundle B> >>> >>> Please enlighten me. >>> Regards, >>> Laci >>> >>> >> > > > -- > > Apache Member > Apache Karaf <http://karaf.apache.org/> Committer & PMC > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & > Project Lead > blog <http://notizblog.nierbeck.de/> > > Software Architect / Project Manager / Scrum Master > > > -- Apache Member Apache Karaf <http://karaf.apache.org/> Committer & PMC OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead blog <http://notizblog.nierbeck.de/> Software Architect / Project Manager / Scrum Master
