AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

评论

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

STM32F103RCT6驱动SG90舵机-完成正反转角度控制

DS小龙哥

三周年连更

NDP常用报文格式

穿过生命散发芬芳

NDP 三周年连更

一文读懂线程池的实现原理

老周聊架构

三周年连更

编程技术为王的天下终究要散了吗| 社区征文

卢卡多多

三周年征文

《设计模式之禅》Strategy_Pattern--策略模式

浅辄

设计模式 Java、 三周年连更

全栈开发实战|SSM框架整合开发

TiAmo

ssm mybits 全栈开发 三周年连更

CSS文本平衡排版 text-wrap:balance

南城FE

CSS 前端 设计

uniapp自定义富文本编辑器

格斗家不爱在外太空沉思

uni-app 三周年连更

Go语言并发编程的核心 —— GMP调度模型

Jack

Socket学习网络基础

芯动大师

android TCP通信 三周年连更

Unity 报错之 接入YomboTGSDK后打包报错:mainTemplate.gradle needs to be updated(property ‘unityStreamingAssets‘)

陈言必行

Unity 三周年连更

美光遭遇审查,存储市场成了“香饽饽”?

脑极体

美光

小白福利 | Window前言

GreatSQL

MySQL greatsql greatsql社区

简单高效的Shell数组操作技巧与技术

小毛驴的烂笔头

linux命令 linux数组

轻医美面部抗衰品牌“娅蔻”宣布将进军江苏市场

科技热闻

AI日课@20230417:AI之于教育;ChatGPT Sidebar:一个浏览网页时的强力AI助手

无人之路

人工智能 ChatGPT

【倒计时4天】金融服务用户体验专场沙龙开启预约

易观分析

金融 经济

去年我是怎么解决团队问题的

光毅

团队管理 领导力

OpenHarmony/HarmonyOS应用上下文Context

坚果

OpenHarmony OpenHarmony3.2 三周年连更

跨平台应用开发进阶(四十九)由环境切换引发的页面通讯机制思考

No Silver Bullet

跨平台应用开发 三周年连更 页面通讯机制

Java面向对象编程高级

timerring

Java

一文掌握使用 Go 标准库 sort 对切片进行排序

陈明勇

Go golang 排序 三周年连更 sort

为什么说Flutter无法成为移动应用开发的“顶流明星”?

FinFish

flutter 前端框架 跨端框架

《致“抄我”的朋友:你已经被我列入白名单!》

程序员晚枫

开源

HTTP方法大全

阿泽🧸

HTTP 三周年连更

挑战 30 天学完 Python:Day8 数据类型 - 字典 dict

MegaQi

Python 挑战30天学完Python 三周年连更

基于多场景化解决方案,华为云助力制造业企业走出数字化转型困境

YG科技

华为云场景化解决方案 助力制造业企业数字化转型

YG科技

IDEA导入多模块maven项目时部分模块未成功加载

WuXiaoYuan

IDEA springboot

Linux命令之find的高级用法

小毛驴的烂笔头

Linux find

使用 Amazon Step Functions 和 Amazon Athena 实现简易大数据编排

亚马逊云科技 (Amazon Web Services)

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