Hi, I am new to ServiceMix and am having some difficulty in configuring repositories to handle dependencies of Jars and bundles. The quick version of my question is, what is the best way to setup a ServiceMix site to be able to use bundle repositories, Maven and your own generated Jars and bundles? I would like to be able to deploy my own bundle and have dependencies managed by the container. As far as I can tell all of the support is there but I'm not having any luck finding an example or the relevant documentation.
I'm now using ServiceMix 4.4.0 and will outline the details of what I have tried here. I download the JBI version of the new ServiceMix and noticed that there are several feature repositories configured. These seem to concentrate on the core of SericeMix and may not have a wide variety of other bundles available. I'm not sure how to get a list of the features available in these repositories, but there are several other repositories such as SpringSource (http://www.springsource.com/repository), Fusesource (http://repo.fusesource.com/) or OSGI OBR repositories (http://www.osgi.org/Repository/HomePage) as well. How would I go about using these repositories? There are also several posts on this mailing list that reference other bundles being added to the ServiceMix repositories somewhere but I'm not sure which repositories or how to access them. I tried to modify an example (jbi/camel) to make use of a library I found on the SpringSource site called NekoHTML. I added the SpringSource repository and dependency information to the Maven POM. The Maven portion resolves just fine and will build the bundle. It looks good except that the required Jars are now part of the bundle and I would prefer to have the separate bundles loaded into the ServiceMix container. I changed the "scope" tag to "provided" so that now the Jars are not part of the bundle. This version will build but not run because the required Jars are not loaded automatically. See attached for the modified example. http://servicemix.396122.n5.nabble.com/file/n5131903/camel-mod.zip camel-mod.zip How do I get the server (ServiceMix/Karaf) to automatically resolve the bundles and install them? The OSGI compatible bundles are already part of a Maven repository (SpringSource) so all of the manifests and dependency information should be there. I've tried adding the SpringSource repository as a feature repository (features:addUrl) with no luck. I then tried to install the obr features (features:install obr) and add the SpringSource as an OBR repository (obr:addUrl), again with no luck. I then tried to extend the simple example to use a library of my own making but am having the same problem. What is considered best practice for deploying your own jars? A straight forward approach was noted on StackOverflow (http://stackoverflow.com/questions/3926863/how-to-deploy-osgi-apps-and-dependencies) that consisted of using the maven-bundle-plugin to generate an OBR index (~/.m2/repository/repository.xml) and add that as an OBR repository. The ServiceMix JBI plugin, however, doesn't seem to generate or update the OBR index and it's not obvious (at least to me) how to get ServiceMix to use the local Maven repository to resolve dependencies. A similar post on this mailing list asking about deploying your own libraries with the JBI plugin can be found at http://servicemix.396122.n5.nabble.com/How-to-integrate-servicemix-shared-libraries-using-jbi-maven-plugin-td5125417.html. The features available with ServiceMix are impressive and I look forward to building a prototype with it. Any hints towards best practice or documentation for any of the above would be greatly appreciated. Thanks, Scott -- View this message in context: http://servicemix.396122.n5.nabble.com/Feature-repositories-OBR-and-my-own-Jars-tp5131903p5131903.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
