此内容没有您所选择的语言版本。

1.2. Migrating Spring-DM to Blueprint


Spring-DM is now deprecated

Spring Dynamic Modules (Spring-DM) is now deprecated and will be removed from a future release of JBoss Fuse. You can continue to use Spring XML and the Spring framework, however, as long as you do not invoke the Spring-DM component.

Prefer Blueprint over Spring-DM

The Blueprint container is now the preferred framework for instantiating, registering, and referencing OSGi services, because this container has now been adopted as an OSGi standard. This ensures greater portability for your OSGi service definitions in the future.
Spring Dynamic Modules (Spring-DM) provided much of the original impetus for the definition of the Blueprint standard, but should now be regarded as obsolescent. Using the Blueprint container does not prevent you from using the Spring framework: the latest version of Spring is compatible with Blueprint.

How to tell whether your code uses Spring-DM

In Spring XML files, the Spring-DM component is associated with the following XML namespace:
http://www.springframework.org/schema/osgi
Copy to Clipboard Toggle word wrap
To identify the parts of your application that use Spring-DM, search for the preceding namespace string in your code.

How to migrate Spring-DM to Blueprint

If you have a Spring XML file that uses the Spring-DM component, migrate this file to Blueprint XML, as follows:
  1. In the standard Maven project layout, Blueprint XML files are stored under the following directory:
    src/main/resources/OSGI-INF/blueprint
    Copy to Clipboard Toggle word wrap
    If it does not already exist, create this directory under your Maven project.
  2. Move the relevant Spring XML file from the Spring directory, src/main/resources/META-INF/spring, to the Blueprint directory, src/main/resources/OSGI-INF/blueprint.
  3. Edit the Spring XML file in order to convert it to a Blueprint XML file. For example, a typical Spring XML file using Spring-DM has the following outline:
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:osgi="http://www.springframework.org/schema/osgi">
        ...
        <osgi:reference id="osgiPlatformTransactionManager"
                        interface="org.springframework.transaction.PlatformTransactionManager"/>
    
        <osgi:reference id="osgiJtaTransactionManager"
                        interface="javax.transaction.TransactionManager"/>
        ...
    </beans>
    Copy to Clipboard Toggle word wrap
    You can convert this Spring XML file to a Blueprint XML file by replacing the beans root element by a root blueprint root element, and replacing Spring-DM osgi:reference elements by Blueprint reference elements. For example:
    <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        ...
        <reference id="osgiPlatformTransactionManager"
                   interface="org.springframework.transaction.PlatformTransactionManager"/>
    
        <reference id="osgiJtaTransactionManager"
                   interface="javax.transaction.TransactionManager"/>
        ...
    </blueprint>
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat