In the last weeks I familiarised myself with OSGi. Two books were very helpful:
Modular Java: Creating Flexible Applications with OSGi and Spring by Craig Walls
OSGi für Praktiker – Prinzipien, Werkzeuge und praktische Anleitungen auf dem Weg zur kleinen SOA by Bernd Weber, Patrick Baumgartner, Oliver Braun (in German)
Both books are similar organised. They introduce OSGi by an example project form the first source code till the deployment. These projects are not ‘Hello World’ projects, so you can adopt the way of working with OSGi for your real OSGi projects.
After the books show the classic way to coding with OSGi, they show how you can use dependency injection in OSGi applications with Spring DM.
Both books work with the PAX Tooling of OPS4J. They are Maven Plugins and track the ‘pom-first’ way to build OSGi applications. These books have a good introduction to the PAX tooling, too. It is very helpful, when you want to use a continuous integration environment for your development (Of course, you want 🙂 ).
The book ‘Modular Java’ has one minor flaw. It was written in 2009, so it use elder version of the tools.