Migrating from Gemini Blueprint 1.0.x to 2.0.0Gemini Blueprint 2.0.0 now requires Spring 4.2.x and requires Java 1.7+ to run. Furthermore, OSGi Spring bundles are now provided by the Apache ServiceMix team. Both the Gemini Blueprint artifacts and the Spring OSGi artifacts are available from maven central. For more details, see Download Gemini Blueprint. To migrate, one must thus:
- Use Spring 4.2.x
- Run at Least Java 1.7
- Update the maven dependencies to reflect the group and artifaact id changes of the spring dependencies
- Remove outdated repository configurations as everything is now available via maven central
Migrating from Spring Dynamic Modules to Eclipse Gemini Blueprint
This guide is aimed at helping developers using Spring DM in their application to migrate to Eclipse Gemini Blueprint.
Gemini Blueprint was created through the migration of Spring Dynamic Modules to the Eclipse Foundation. While certain things have changed in the process, mainly to reflect the new project name and hosting infrastructure, the project architecture, ideas, code base and dependencies have remained intact. Use this to your advantage when encountering errors, by looking first for references to 'old' packages or classes as these are likely to be the problem in the vast majority of cases.
Changed Package Name
The most disruptive change for Spring DM users when transitioning to Gemini Blueprint is the renaming of the project packages:
org.eclipse.gemini.blueprint. If you are referring to the Spring DM classes, in any way,
either inside Java code or XML configuration, you need to update the package.
The actual class names and method signatures have not been changed so in most cases the changed can be accommodated through a simple "search & replace" operation.
Note that for configuration purposes, one can shield itself from the package change by relying on the Spring DM/Eclipse Gemini Blueprint namespaces which hide the actual classes used for configuring, making the change transparent.
Changed Exported Packages (Versions Included)
Inherent to the package name changes, the artifact manifests have been updated as well. Besides changing the imported package names as indicated above, consumers should modify
the imported version to
1.0.0.M1 for wiring only to the M1 artifact).
Deprecated Namespace/Schema Location
The existing Spring DM schema definition (named
spring-osgi.xsd and located at
http://www.springframework.org/schema/osgi) are still available and supported
by Eclipse Gemini Blueprint. However we recommend users to migrate to the newly added schemas at
http://www.eclipse.org/gemini/blueprint/schema/blueprint-compendium/gemini-blueprint-compendium.xsd. Except for the schema location, the new schemas are identical to the
old ones and will be the target of any new improvements and further development.
Deprecated Spring-DM specific service properties
Similar to the schema deprecation, the Spring-DM specific properties on exported services (such as
org.springframework.osgi.bean.name) have been deprecated. While they are still supported
users are recommended to use the newly introduced Gemini Blueprint props (simply replace
org.sprinframework.osgi prefix with
Removed deprecated classes
During the move, several deprecated or unused classes have been removed. If you cannot find a class name in the new package, it's likely that it has been removed in the process. Feel free to confirm this over the forums.
Removed deprecated modules
As of Gemini Blueprint M1, not all modules or projects inside Spring DM have been moved. At the moment only the
test modules have
transitioned are provided in M1. With the up-coming release of OSGi RFC-66, the web support is being discontinued. Existing users are encouraged to look at Eclipse Gemini Web
project. The plans for the Maven archetype and annotation extension are undefined for the moment and these modules are NOT included
in Gemini Blueprint project.
Changed Maven artifact groupId/artifactId and repository
The Maven artifacts have changed as well during the transition. For the time being, the artifacts are hosted at a new repository (
<repository> <id>zodiac-repository</id> <name>Zodiac Milestone Repository</name> <url>http://zodiac.springsource.com/maven/bundles/milestone</url> </repository>The groupId has changed from
org.eclipse.gemini.blueprintand artifactId from
The content and names of the artifacts have remained mainly unchanged.