使用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平台,可提供:
- 通过运行时模块之间的隔离,更易于分离应用程序的逻辑;
- 可在并发情况下部署一个模块(库)的多个版本;
- 可动态发现和使用系统其他模块提供的服务;
- 可在运行期间动态安装、更新和卸载模块;
- 使用spring框架实例化、配置、装配和包装模块中或者多个模块的组件;
- 给企业开发者使用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.
使用spring dynamic modules的理由的更多相关文章
- Spring Dynamic Modules - DMserver
spring dm server 官网:http://static.springsource.com/projects/dm-server/1.0.x/programmer-guide/htmlsin ...
- spring data jpa和spring data redis同时配置时,出现Multiple Spring Data modules found, entering strict repository configuration mode错误
问题说明 data jpa和data redis同时配置时,出现Spring modules spring Spring Data Release Train <dependencyManage ...
- Spring Dynamic DataSource Routing
Use AbstractRoutingDataSource to dynamicly switch datasources, see http://spring.io/blog/2007/01/23/ ...
- [spring]03_装配Bean
3.1 JavaBean 3.1.1 JavaBean 是什么 JavaBean 是一种JAVA语言写成的可重用组件. 为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器. Jav ...
- Spring学习笔记—Spring之旅
1.Spring简介 Spring是一个开源框架,最早由Rod Johnson创建,并在<Expert One-on-One:J2EE Design and Development> ...
- spring揭密学习笔记(1) --spring的由来
1.spring起源于在EJB暴露出各种严重问题的情况应运而生. Spring是于2003年兴起的一个轻量级的Java开发框架, Spring倡导一切从实际出发,以实用的态度来选择适合当前开发场景的解 ...
- OSGI企业应用开发(四)使用Blueprint整合Spring框架(一)
上篇文章中介绍了如何使用独立的Equinox发行包搭建OSGI运行环境,而不是依赖与具体的Eclipse基础开发工具,本文开始介绍如何使用Blueprint將Spring框架整合到OSGI中. 一.开 ...
- spring主要产品
Spring Framework * Spring Web Flow * Spring Web Services * Spring Security (Acegi Security) ...
- Spring学习总结(19)——Spring概念详解
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EEfull-stack(一 ...
随机推荐
- NOIP2004 虫食算
描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母.来看一个简单的例子:43#9865#045+ 8468#6633= 44445506678其中#号代表 ...
- Java基础——clone()方法浅析
一.clone的概念 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...
- 乱码!Eclipse 的控制台console必须用GBK编码。
Eclipse 的控制台必须用GBK编码.所以条件1和条件4必须同时满足,否则运行的还是乱码. 条件1,Window | Preferences | Workspace | Text fi ...
- FreeBSD下查看各软件版本命令
查看FreeBSD版本: uname -a root# uname -a FreeBSD power 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02 ...
- SQLServer、MySQL、Oracle语法差异小集锦
一.差异集锦 在建表的时候,只有自增的语法不同. 下面给出3种数据库通用的建表与初始化测试语句: CREATE TABLE Country( Id int PRIMARY KEY, Name ) ); ...
- 【缓存】.net中Cache管理操作
隐藏行号 复制代码 ? 这是一段程序代码. using System; using System.Web; using System.Web.Caching; using System.Collect ...
- windows live writer向cnblog发布文章设置(转)
Windows Live Writer是非常不错的一个日志发布工具,支持本地写文章,非常方便将word 中内容,包括图片进行处理,有点感觉相见恨晚. Live Writer最新版本下载地址是什么? h ...
- gulp.spriteSmith使用
var gulp = require('gulp'); var spritesmith = require('gulp.spritesmith'); gulp.task('sprite', funct ...
- 1.4Linux内核版本号的定义规则
Linux内核版本号的组成: (1)主版本号: (2)次版本号: (3)修订版本号: (4)微调版本号: (5)为特定的Linux系统特别调校的描述: 例子:2.6.29.7-flykernel-12 ...
- 【Uploadify】远程上传图片到【七牛云存储】
1.下载Uploadify版本3.2.1 2.下载七牛SDK 解压后将 qiniu 文件夹copy到uploadify文件夹下 3.修改uploadify.php文件 <?php $verify ...