I'm in the same boat, and OSGi looks pretty nice. Although Felix looks a lot easier to get started with, the Equinox folks have done a lot of work lately to get a complete, deployable server-side modularity framework together. And since Equinox underlies Eclipse, there's some nice IDE tools to maintain the plug-ins.
I would recommend looking at OSGi R4's Declarative Services as the way to go for specifying module dependencies. It has very dynamic binding (unlike extension points), a nice declarative XML specification (unlike raw services), and is a standard instead of a Not-Invented-Here-Syndrome re-implementation of the functionality (unlike Spring).
[Message sent by forum member 'samkass' (samkass)]
http://forums.java.net/jive/thread.jspa?messageID=262256