50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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:004299

评论

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

Jenkins 可观测最佳实践

观测云

CI/CD

百度智能云「智能集锦」自动生成短剧解说,三步实现专业级素材生产

Baidu AICLOUD

视频云 智能剪辑

CSS 特异性控制:层叠层 vs. BEM vs. 工具类

qife122

CSS 样式管理

基于华为开发者空间实现花卉识别

华为云开发者联盟

神经网络 CodeArts 华为开发者空间

API管理进入新阶段:iPaaS如何统一接口治理与运维?

谷云科技RestCloud

数据治理 数据传输 API治理 API管理 ipaas

HyperMesh几何修复、清理和简化

智造软件

CAE软件 Hypermesh hyperworks

AI Compass前沿速览:Nano Banana玩法教学、AgentScope、Hunyuan-MT-7B、HunyuanWorld-Voyager、AudioStory

汀丶人工智能

mybatis中<if>条件判断带数字的字符串失效问题

刘大猫

人工智能 算法 智慧城市 光电科学 材料科学

有了 AI 写代码,还缺什么?资深工程师:28 寸专业编程显示器 + Cursor 告别代码疲劳

鸽芷咕

显示器 明基RD320U 编码体验

哈尔滨二级等保办理全流程:从准备到完成的清晰指引

等保测评

LED显示屏校准流程详解

Dylan

LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家 户内led显示屏

设备点检 设备维护经验总结(5)

万里无云万里天

工业 设备维护 工厂运维 设备点检

基于开发者空间开发平台工作流构建旅行行程规划应用

华为云开发者联盟

人工智能 华为开发者空间 Versatile Agent.

低代码高效搭建应用,轻松应对多场景需求

引迈信息

设备点检 设备维护经验总结(4)

万里无云万里天

工业 设备维护 工厂运维 设备点检

厌倦了日复一日?不如从升级鸿蒙5.1,换个手机主题开始!

最新动态

黑龙江等保测评公司选择关键维度:服务能力与适配性

等保测评

基于华为开发者空间项目同步能力实现java电商项目部署

华为云开发者联盟

云主机 华为开发者空间 Gitcode

代码可读性与命名艺术:空间布局与命名的核心原则

qife122

代码可读性 命名约定

哈尔滨二级等保实施重点:安全建设与管理的关键环节

等保测评

来看低代码平台的“七十二变”

秃头小帅oi

qData 数据中台【开源版】发布 1.0.5 版本,全面提升规则治理、非结构化数据处理与部署体验

千桐科技

qData 开源数据中台 Java数据中台 千数平台 数据治理平台

行业分享丨基于SimSolid的大型汽车连续冲压模具刚度分析

Altair RapidMiner

汽车 仿真 CAE SimSolid 无网格仿真

CAD二次开发的费用

北京木奇移动技术有限公司

软件外包公司 CAD二次开发 CAD开发

企业怎么挑合适的数据集成工具?

谷云科技RestCloud

Apache 数据同步 ETL 数据集成工具 informatica

淘宝闪购实时分析黑科技:StarRocks + Paimon撑起秋天第一波奶茶自由

StarRocks

阿里巴巴 StarRocks 物化视图 paimon 实时湖仓架构

基于仓颉编程语言的四则运算解释器开发秘籍

华为云开发者联盟

CodeArts 仓颉 华为开发者空间

基于 CoT 协调多 MCP Tool — 智能运维 Redshift

亚马逊云科技 (Amazon Web Services)

智能推荐新纪元:快手生成式技术对系统边界的消融与重建

老周聊架构

AICon

构建基于 Spring Boot 的 GaussDB 数据访问应用:数据的增删改查

华为云开发者联盟

springboot Gauss DB 华为开发者空间

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