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)
- OSGi & Spring DM in action (in Korean)
- 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://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.
Upcoming Trainings:
Core Spring Framework
Apr 06 – 09: Hamburg
Apr 13 – 16: New York
Apr 20 – 23: London
Apr 20 – 23: Montreal
Apr 20 – 23: Wien
Apr 27 – 30: München
Rich Web Applications with Spring
Apr 06 – 09: Chicago
Apr 07 – 10: Bangalore
Apr 13 – 16: Amsterdam
Enterprise Integration with Spring
Apr 13 – 16: Athens
Apr 13 – 16: Copenhagen
Apr 27 – 30: San Francisco
Plus:
Hibernate with Spring, Core Spring.NET, Spring Web Services and more...
User login
Upcoming events
- SpringSource S2G Forum - Munich (Event)(6 days)
- Last day to register for the Spring training special(Event)(7 days)
- Webinar: SpringSource tc Server: Best Place to Build and Run Spring Applications (Europe)(Event)(11 days)
- Webinar: SpringSource tc Server: Best Place to Build and Run Spring Applications (North America)(Event)(11 days)
- Webinar: Introducing Spring Roo - Extreme Productivity in 10 Minutes(Event)(19 days)
- Spring & Java Workshop - Lisboa, Portugal(Event)(25 days)












