Spring Dynamic Modules

Introduction
The Spring Dynamic Modules for OSGi(tm) Service Platforms 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. OSGi is a registered trademark of the OSGi Alliance. Project name is used pending approval from the OSGi Alliance.
OSGi 4.2 introduces the Blueprint Service specification based on Spring Dynamic Modules project for which Spring DM (2.x) is the Reference Implementation (RI).
Migration to Eclipse Foundation
In late 2009, Spring DM has been contributed to the Eclipse Foundation as the Gemini Blueprint project. All new development is now hosted and released through the Eclipse foundation. Please see the Gemini Blueprint site for details. The migration has been completed with the 1.0.0.RELEASE of Gemini Blueprint. For more information on the Gemini project and Spring DM donation see the links below:
Downloads
For Blueprint Service RI, use the 2.x+version.
Spring Dynamic Modules users may also be interested in SpringSource dm Server, an open source, completely modular, OSGi-based Java application server (download). Its documentation is considered a supplement to Spring DM as it explains in detail, how OSGi can be used in various development and production scenarios.
Requirements
Spring DM 2.x:
(Spring DM is tested daily against Eclipse Equinox 3.5.x, Knopflerfish 3.x and Apache Felix 2.x) Spring Framework 3.0.RC1 or greater
Spring DM 1.x:
(Spring DM is tested daily against Eclipse Equinox 3.3.x, Knopflerfish 2.2.x and Apache Felix 1.4.x) Spring Framework 2.5.6 or greater
Current GA release - 1.2.1
Previous GA release - 1.1.3
Previous GA release - 1.0.3
Latest release - 2.0.0.M1
Documentation
Books
(in chronological order)
Community Contributions
OSGi and Enteprise Development Agile RCP - Presenter First using Spring Dynamic Modules ( PDF | Sources) Dependency Injection for Eclipse Extensions
Additional Resources
OSGi introductions
Presentations
Follow the team members on Twitter at
Samples
Support
For Developers
Snapshots
Maven Repositories
Milestone Repository
Milestone releases (such as 1.2.0-m1 or 1.1.0-rc1) are deployed at:
<repository>
<id>spring-maven-milestone</id>
<name>Springframework Maven Repository</name>
<url>http://maven.springframework.org/milestone</url>
</repository>
Nightly Builds Repository
Nightly snapshot builds are provided for testing and development purposes only. They are built by a Bamboo process automatically using the latest snapshot from Subversion.
The snapshots are deployed to a Maven2 snapshot repository (browsable here). To use them, just add the following repository to the POM:
<repository>
<id>spring-maven-snapshot</id>
<snapshots><enabled>true</enabled></snapshots>
<name>Springframework Maven SNAPSHOT Repository</name>
<url>http://maven.springframework.org/snapshot</url>
</repository>
Individual dependencies can then by added like so:
<dependency> <groupId>org.springframework.osgi</groupId> <artifactId>spring-osgi-core</artifactId> <version>1.0-XXX-SNAPSHOT</version> </dependency>
OSGified Artifacts Repository
OSGified artifacts (such as catalina jasper) are provided for development purposes at:
<repository>
<id>spring-osgified-artifacts</id>
<snapshots><enabled>true</enabled></snapshots>
<name>Springframework Maven OSGified Artifacts Repository</name>
<url>http://maven.springframework.org/osgi</url>
</repository>
Note that the repository is used internally by Spring DM and it is not supported.
Current GA release - 1.2.1
Previous GA release - 1.1.3
Previous GA release - 1.0.3
Release Summary
Current GA release - 1.2.1
Previous GA release - 1.1.3
Previous GA release - 1.0.3
Documentation
Other Resources
Related Discussions
![[image]](http://mowser.com/img?url=http%3A%2F%2Fwww.springsource.org%2Fsites%2Fall%2Fthemes%2Fs2org11%2Fimages%2Fnav_sep_line.png)
![[image]](http://mowser.com/img?url=http%3A%2F%2Fwww.springsource.org%2Fsites%2Fall%2Fthemes%2Fs2org11%2Fimages%2Fnav_features.png)
![[image]](http://mowser.com/img?url=http%3A%2F%2Fwww.springsource.org%2Fsites%2Fall%2Fthemes%2Fs2org11%2Fimages%2Fnav_getstarted.png)
![[image]](http://mowser.com/img?url=http%3A%2F%2Fwww.springsource.org%2Fsites%2Fall%2Fthemes%2Fs2org11%2Fimages%2Fnav_getinvolved.png)
![[image]](http://mowser.com/img?url=http%3A%2F%2Fwww.springsource.org%2Fsites%2Fall%2Fthemes%2Fs2org11%2Fimages%2Fnav_newsevents.png)
![[image]](http://mowser.com/img?url=http%3A%2F%2Fwww.springsource.org%2Fsites%2Fall%2Fthemes%2Fs2org11%2Fimages%2Fbutton_share.png)
![[image]](http://mowser.com/img?url=http%3A%2F%2Fwww.springsource.org%2Fsites%2Fall%2Fthemes%2Fs2org11%2Fimages%2Fbutton_download_green.png)
![[image]](http://mowser.com/img?url=http%3A%2F%2Fwww.springsource.org%2Fsites%2Fall%2Fthemes%2Fs2org11%2Fimages%2FICO_PopUp-NewWindow.png)
![[image]](http://mowser.com/img?url=http%3A%2F%2Fwww.springsource.org%2Fsites%2Fall%2Fthemes%2Fs2org11%2Fimages%2Fbutton_home_subscribe.png)