Spring Dynamic Modules for OSGi(tm) Service Platforms
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).
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:
- Java 1.5 (or greater)
- OSGi R4 (or greater) platform
(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:
- Java 1.4 (or greater)
- OSGi R4 (or greater) platform
(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
- Download
- Reference Documentation (HTML | HTML Single | PDF)
- FAQ
- Known Issues
- Javadocs
- Changelog
Previous GA release - 1.1.3
- Download
- Reference Documentation (HTML | HTML Single | PDF)
- FAQ
- Known Issues
- Javadocs
- Changelog
Previous GA release - 1.0.3
- Download
- Reference Documentation (HTML | HTML Single | PDF)
- FAQ
- Known Issues
- Javadocs
- Changelog
Latest release - 2.0.0.M1
- Download
- Reference Documentation (HTML | HTML Single | PDF)
- FAQ
- Known Issues
- Javadocs
- Changelog
Documentation
- Reference documentation
- Screencasts
- SpringSource OSGi blog
- HOWTO create a new Spring Dynamic Modules bundle project
Books
(in chronological order)
- Spring Dynamic Modules in Action
- (on Spring DM and dm Server) Pro SpringSource dm Serverâ„¢
- Modular Java: Creating Flexible Applications with OSGi and Spring
- Pro Spring Dynamic Modules
Community Contributions
- Eclipse and Spring-DM tutorial (updated March 22, 2009)
- OSGi and Enteprise Development
- Agile RCP - Presenter First using Spring Dynamic Modules ( PDF | Sources)
- Dependency Injection for Eclipse Extensions
Additional Resources
- SpringSource.com: 1.0 Official Press Release
- InfoQ: Spring-DM 1.0 released
- JavaWorld: Introduction to Spring-DM
OSGi introductions
- DZone: Getting Started with Spring DM refcard
- OSGi.org links and resources
- Glyn Normington blog entry
Presentations
- Blueprint Service (2009)
- OSGi with Spring (2007)
- Spring OSGi (2006)
Follow the team members on Twitter at
- Adrian Colyer: adriancolyer
- Costin Leau: costinl
Samples
Support
For Developers
Snapshots
| Source code repository | (trunk | 1.2.x branch | 1.1.x branch) |
| Javadocs | (trunk | 1.2.x branch | 1.1.x branch) |
| Reference Documentation | trunk |
| Source code | (trunk | 1.2.x branch | 1.1.x branch) |
| Submodules reports | |
| Spring OSGi Core | (trunk | 1.2.x branch | 1.1.x branch) |
| Spring OSGi Extender | (trunk | 1.2.x branch | 1.1.x branch) |
| Spring OSGi JUnit support | (trunk | 1.2.x branch | 1.1.x branch) |
| Spring OSGi Mock | (trunk | 1.2.x branch | 1.1.x branch) |
| Spring OSGi Web | (trunk | 1.2.x branch | 1.1.x branch) |
| Spring OSGi Web Extender | (trunk | 1.2.x branch | 1.1.x branch) |
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://s3.amazonaws.com/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://s3.amazonaws.com/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://s3.amazonaws.com/maven.springframework.org/osgi</url>
</repository>
Note that the repository is used internally by Spring DM and it is not supported.
Upcoming Trainings:
Core Spring Framework
Feb 22 - 25: Wellington
Feb 23 - 26: London
Feb 23 - 26: Paris
Feb 23 - 26: Phoenix
Feb 23 - 26: Denver
Mar 02 - 05: Melbourne
Rich Web Applications with Spring
Feb 16 - 19: Online (US)
Mar 02 - 05: München
Mar 09 - 12: Chicago
Enterprise Integration with Spring
Feb 23 - 26: Minneapolis
Feb 23 - 26: Warsaw
Mar 09 - 12: Frankfurt
Plus:
Hibernate with Spring, Core Spring.NET, Spring Web Services and more...
User login
Upcoming events
- Spring 2GX Day - Madrid, Spain (Event)(10 days)
- SpringSource S2G Forum - Munich (Event)(37 days)












