AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

Spring Dynamic Modules for OSGi:简化 OSGi 应用的开发

  • 2008-01-25
  • 本文字数:1521 字

    阅读完需:约 5 分钟

Spring Dynamic Modules for OSGi (也就是从前的Spring-OSGi)今天发布了 1.0 版本。InfoQ 就这个版本的发布以及它能为 Spring 社区提供什么采访了 SpringSource 的 CTO—— Adrian Colyer 和 Spring Dynamic Modules 项目的领导人—— Costin Leau

Adrian Colyer 阐述了 Spring Dynamic Modules 项目背后的思想:

我们的根本目标是为了让应用开发人员在编写企业应用时获得 OSGi 平台(模块化、版本化支持、模块生命周期以及管理)带来的优点。 有些软件提供商已经在其产品中使用 OSGi, 但并没有把 OSGi 的这些优点提供给部署在其产品上的应用享用。我们则希望能够尽可能简单的使用 OSGi,就像这样:代码和 OSGi 服务平台没有强耦合 (这样才能保证单元测试容易进行),同时也不需要明确的调用 OSGi 服务平台的接口。Spring Dynamic Modules 将 Spring 和 OSGi 服务平台完美的结合在了一起,为开发人员提供更加简单、强大的基础框架。

Cosit Leau 谈到 1.0 发行版的主要目标是为 Spring 应用稳定、高效的在 OSGi 环境中运行提供基础,并随后指出了此发行版的主要特性:

  • 自动发现 Spring bundles——每个 Spring Bundle 都会由和 OSGi 兼容的<a href="http://static.springframework.org/osgi/docs/1.0/api/org/springframework/osgi/service/exporter/support/OsgiServiceFactoryBean.html">OsgiServiceFactoryBean</a>创建 Application Context,并且这个 Application Context 会暴露为一个 OSGi 服务;

  • 引用和提供 Spring 服务——把 Spring 服务作为 OSGi 服务提供仅需要一行 XML,引用 OSGi 服务也同样如此;

  • 动态处理服务引用和集合——如果服务升级或重新部署,不用重启应用就可以自动的获取到新版本的服务实例;这对于实现同一接口的多个服务构成的集合也是一样,当服务被安装 / 卸载时,他们会被自动加入集合或是从集合中删除;

  • 事件通知监听机制——如需监听指定 OSGi Service 的 bind/unbind、register/unregister 事件,只用一行 xml 就可以注册一个这样的 bean 了;

  • 全面的集成测试框架——集成测试工具位于 org.springframework.osgi.test包,其中包含了很多使用了 OSGi 的单元测试类。

Leau 提到了在参考文档中有1.0 版所有特性的详细描述。

由于OSGi 规范起源于移动领域,所以InfoQ 向Colyer 询问了Spring Dynamic Modules 是否也有计划推出移动版本。Colyer 说:由于目前Spring Dynamic Modules 是依赖于 Spring 2.5 的, 而 Spring 2.5 又依赖于 JDK 1.4,因此目前不可能而且也没有推出 Spring Framework 的移动版本的计划。不过 Colyer 同时也表达了这样的意思:目前 OSGi 的开发人员中很大一部分都对如何简化应用的开发有非常浓厚的 兴趣,而这些人中又有大部分从事的是企业应用领域,对于移动版本的需求将会决定 Spring 是否推出相应的移动版本的计划。

在问起 Spring Dynamic Modules 的未来时,Colyer 说到:

1.0 发行版提供了创建基于 OSGi 的 Spring 应用的基础。1.1 版本将会致力于简化在 OSGi 服务平台中使用公用企业库,其中的重点就是让基于 OSGi 的 Web 应用比目前容易创建。 SpringSource 作为 OSGi 企业专家组的活跃成员之一,希望能够把 Spring Dynamic Modules 项目中得出的优秀经验编写到 OSGi R5 规范中去。Spring Dynamic Modules 毫无疑问会及时的实现这些标准。

Colyer 最后表示目前没有任何计划去支持其他的动态模块化框架,就像 JSR 277,原因是:“目前的工业标准很明显是基于 OSGi 的”。

查看英文原文 Spring Dynamic Modules for OSGi: simplified development of OSGi applications


译者简介:BlueDavy,曾编写《OSGi 实战》、《OSGi 进阶》两篇 Opendoc,致力于 OSGi 在国内的推广和发展,现沉迷于大型分布式应用基础平台的研究和实现。

2008-01-25 07:004048

评论

发布
暂无评论
发现更多内容

1. 不吹不擂,第一篇就能提升你对Bean Validation数据校验的认知

YourBatman

Hibernate-Validator Bean Validation 数据校验 JSR380

MAC系统初始化

焦振清

macos 重装系统

LeetCode题解:155. 最小栈,单个栈存储入栈元素与最小值之差,JavaScript,详细注释

Lee Chen

大前端 LeetCode

融云Geek Online 2020 编程挑战赛重磅来袭

InfoQ_967a83c6d0d7

某程序员毕业进UC,被阿里收购!跳去优酷土豆,又被阿里收购!再跳去饿了么,还被阿里收购!难道阿里想收购的是他?

程序员生活志

职场 阿里

区块链助力军事人力资源配置

CECBC

区块链 军事

数字货币交易平台源码,数字货币交易所开发核心功能

13530558032

云原生如何来进行HTTPS升级

soolaugust

架构 云原生 设计模式

话题讨论 | 当你敲代码累了时,一般喜欢吃点什么补充能量?

InfoQ写作社区官方

加班 写作平台 代码 话题讨论

SpreadJS 纯前端表格控件应用案例:雨诺订单管理系统(雨诺OMS)

葡萄城技术团队

3种双集群系统方案设计模式详解

华为云开发者联盟

数据库 数据仓库 数据 双集群系统 双ETL模式

深圳泰利能源有限公司涉嫌传销 共计2.7亿元

CECBC

区块链 基金

人的转型才是关键 数字化时代你具备数字领导力么

CECBC

区块链 数字化时代

Spring Bean处理器

语霖

Spring Framework

案例分享丨红外自动感应门设计与实现详解

华为云开发者联盟

物联网 传感器 感应探测器 SMT32处理器 感应门

区块链支付新模式开发,USDT支付系统搭建

13530558032

挽救你的视频号:能够把PPT转换成视频,把备注转换成语音的开源项目

陈磊@Criss

技术分享:即构互动白板音视频同步、多端有序协作技术实践

ZEGO即构

音视频 在线教育 SVG

从 Node.js(JavaScript) 到 Golang,我的开发体验

Garfield

node.js Go 语言

C语言内存泄露很严重,如何应对?

华为云开发者联盟

c 内存泄露 内存 代码 函数

anyRTC Native 4.1.0.1与Web SDK 4.0.11上线

anyRTC开发者

学习 WebRTC 语音 直播 sdk

关于显性知识和隐性知识

Tanmer

知识管理 知识产权

XSKY对象存储获全球备份领域领导者Commvault官方认证

XSKY星辰天合

Cassandra Gossip协议的二三事儿

华为云开发者联盟

源码 三次握手 开发者 Cassandra Gossip协议

华为云FusionInsight大数据技术普惠创新,释放千行百业数据价值

数据湖洞见

大数据 FusionInsight 华为云

凡泰极客与Rancher达成深度战略合作,加速企业构建私有化小程序生态

FinClip

读懂k8s 容器编排控制器 Deployment

Garfield

k8s pod k8s入门

云算力挖矿平台APP,算力挖矿建设开发

13530558032

SpreadJS 纯前端表格控件应用案例:MHT-CP数据填报采集平台

葡萄城技术团队

你问我答:现有的应用有必要做微服务改造吗?

BoCloud博云

容器 DevOps 微服务 云平台 博云

数字资产钱包开发,数字加密货币app搭建

13530558032

Spring Dynamic Modules for OSGi:简化OSGi应用的开发_Java_Ryan Slobojan_InfoQ精选文章