生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

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

评论

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

MAUI与Blazor共享一套UI,媲美Flutter,实现Windows、macOS、Android、iOS、Web通用UI

沙漠尽头的狼

C# MAUI Blazor Blazor Server Blazor WebAssembly 跨平台UI

为什么要做茶叶商城小程序app开发?

开源直播系统源码

软件开发 一对一源码 小程序商城

Ares阿瑞斯i质押LP挖矿众筹模式dapp智能合约定制

开发微hkkf5566

Move Protocol Beta测试版再调整,扩大总奖池

股市老人

Hoo虎符研究院|6月上半月区块链行业投资机构动向

区块链前沿News

Hoo虎符 Hoo

去中心化挖矿LP流动性DAPP系统开发案例

开发微hkkf5566

天天在都在谈的S3协议到底是什么?一文带你了解S3背后的故事

wljslmz

对象存储 S3 6月月更

Vue-16-表单绑定

Python研究所

6月月更

站在数字化风口,工装企业如何"飞起来"

华为云开发者联盟

云计算 低代码 开发 华为云

自助洗车到底有哪些不一样的地方

共享电单车厂家

自助洗车加盟 24小时自助洗车

集成底座方案演示说明

agileai

集成底座 企业服务总线 统一身份管理平台 主数据管理平台 方案演示

招募令|数据可视化开发平台“FlyFish”「超级体验官」招募啦!

云智慧AIOps社区

前端 前端开发 低代码 数据可视化 可视化开发

依靠可信AI的鲁棒性有效识别深度伪造,帮助银行对抗身份欺诈

易观分析

AI

Uniswap去中心化交易所系统开发方案

开发微hkkf5566

智能制造的下一站:云原生+边缘计算双轮驱动

York

云原生 边缘计算 工业互联网 云边端协同

云原生监控系统·夜莺近期新功能一览,解决多个生产痛点

龙渊秦五

云原生 Prometheus Nightingale 运维监控

天天预约排队助手|使用手册

天天预约

小程序 SaaS 排队 生活服务工具 使用手册

进击的程序员,如何提升研发效能?|直播预告

万事ONES

GraalVM 与 Spring Native 项目实现链路可观测

观测云

2022年Q1手机银行用户规模达6.5亿,加强ESG个人金融产品创新

易观分析

手机银行

北京web前端培训 | React全家桶之入门介绍

@零度

React web前端开发

Move Protocol Beta测试版稳定,临时决定奖池规模再扩大

EOSdreamer111

更新视图——基于函数的视图 Django

海拥(haiyong.site)

Python django 6月月更

《网络是怎么样连接的》读书笔记 - FTTH

懒时小窝

网络编程

大数据培训flink之电商用户行为项目整体介绍

@零度

flink 大数据开发

中国游戏的“外卷”大时代,中小厂商如何破解出海难题?

Geek_2d6073

AutoK3s v0.5.0 发布 延续简约和友好

Rancher

Kubernetes k8s rancher

撰写有效帮助文档的7大秘诀

小炮

NFT卡牌链游系统开发详情分析

开发微hkkf5566

华为云发布桌面IDE-CodeArts

华为云开发者联盟

云计算 开发工具 华为云 代码补全

Move Protocol Beta测试版稳定,临时决定奖池规模再扩大

西柚子

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