OSGi is a fairly recent addition to Spring and to Eclipse but, what is it? OSGi provides a dynamic, order-independent, modular loading and unloading and dependency injection to the runtime environment. OSGi does this while eliminating classloader problems. Okay, how do I use it?
The best documentation I have found is available as a free download. 'OSGi in Practice' starts with a good explanation of the problems addressed by OSGi (the issues around jar versioning and dependencies in classloaders) and then walks the reader through examples of interacting with the Apache Felix OSGi framework.
If you've ever witnessed an important implementation delayed because of classloader problems that were found only in the production environment, you know the importance of OSGi.