The Spring Dynamic Modules project makes it easy to build Spring applications
that run in an OSGi framework. A Spring application written in this
way provides better separation of modules, the ability to
dynamically add, remove, and update modules in a running system, the
ability to deploy multiple versions of a module simultaneously (and
have clients automatically bind to the appropriate one), and a dynamic
service model.