使用spring dynamic modules的理由

spring的主要功能

spring框架提供了轻量级的容器和非侵入式的编程模型,这来自于其依赖注入、AOP和便携服务概念。

osgi的主要功能

osgi服务平台提供了动态的应用程序执行环境,支持模块(绑定)的安装、更新或者即时的删除。同时很好的支持了模块化和版本化。

spring dynamic modules的主要作用

spring dynamic modules (spring-dm) 便于将spring应用部署到osgi执行环境,并且可让spring应用利用到osgi框架提供的服务。spring-dm还使构建的spring应用开发为osgi应用变得更简化和更有生产效率。对于企业应用,结合spring-dm和osgi平台,可提供:

  1. 通过运行时模块之间的隔离,更易于分离应用程序的逻辑;
  2. 可在并发情况下部署一个模块(库)的多个版本;
  3. 可动态发现和使用系统其他模块提供的服务;
  4. 可在运行期间动态安装、更新和卸载模块;
  5. 使用spring框架实例化、配置、装配和包装模块中或者多个模块的组件;
  6. 给企业开发者使用osgi平台提供了简化的和熟悉的编程模型。

Spring Dynamic Modules 的前身是 Spring OSGi。

Spring Dynamic Modules,让写Spring应用可以部署在一个的OSGi执行环境,而且还可以充分利用所提供的服务的OSGi框架。 Spring的支持也使的OSGi开发的OSGi应用更简单和更富有成效的基础上,易用性和力量的Spring框架。为企业级应用,结合Spring Dynamic Modules和动态的 OSGi平台提供:

  • Better separation of application logic into modules, with runtime enforcement of module boundaries
  • The ability to deploy multiple versions of a module (or library) concurrently
  • The ability to dynamically discover and use services provided by other modules in the system
  • The ability to dynamically install, update and uninstall modules in a running system
  • Use of the Spring Framework to instantiate, configure, assemble, and decorate components within and across modules.
  • A simple and familiar programming model for enterprise developers to exploit the features of the OSGi platform.
原文地址:https://www.cnblogs.com/viewcozy/p/4904391.html