Thanks for you kind words.
You are obviously right that for a non-trivial application the number of bundles grows pretty fast. How manageable that is is probably a subjective matter, given the alternatives. OSGi goes a long way in managing the dependencies and versions for you.
What we commonly do and encourage is to use maven as a build system and have your bundles managed/generated by maven. This is actually described in the doc you pointed to at: http://fusesource.com/docs/esb/4.1/osgi/index.html
You can then use maven to manage your dependencies using:
$ mvn dependency:list (or)
$ mvn dependency:tree
For deployment, you may want to use an OBR repository to manage your bundles and dependencies: http://www.osgi.org/Repository
I hope this helps.
At Apache Camel we use pax-exam to do osgi unit and integration tests.
That is addition to the approx. 3000+ and still counting regular unit tests we do with Camel using plain junit.
Many thanks for the pointers, I'll as well give pax-exam a try.
Pax-exam is really cool and effective, unfortunately pax-exam doesn't work together with the cxf bundle. The only platform it seems working correctly is
Can I know what kind of error that you got when you run the cxf-bundle within pax-exam?
I managed to run the camel-cxf test with pax-exam a month ago and I know there some OSGi integration tests of servicemix which are also using the cxf-bundle.
Servimix uses the spring testing framework and not pax-exam. Anyway it's very easy to reproduce the problem. Pax-exam uses pax-runner, so you can just try to run a cxf based project using pax-runner and you'll notice that the osgi framework blocks indefinetely trying to resolve the cxf bundle. Trying with knopflerfish works fine.
I got a timeout issue when publishing the service with CXF bundle in JDK 1.5.
Maybe you can try out the fix
This shows that it will work standalone camel. How do I use the unit testing with my camel osgi services deployed in SMX4?
Hi jkhan ,
If you take a close look at the tests file , there is an example of unit test by using Pax Exam.
Since Fuse ESB use the Pax runner to start the OSGi Environment, and Pax Exam did the same thing to start the JUnit test in OSGi Environment.