NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

评论

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

通过CRM系统提高生产力的技巧

低代码小观

企业管理 CRM 企业管理系统 CRM系统 客户关系管理系统

openGauss助力中国移动获 “ICT优秀案例”

openGauss

opengauss

Redis现网那些坑:用个缓存,还要为磁盘故障买单?

华为云数据库小助手

redis GaussDB GaussDB ( for Redis ) 华为云数据库

如何设置Perforce类型映射(P4类型映射)

龙智—DevSecOps解决方案

版本控制 游戏开发 二进制文件 游戏引擎 虚拟引擎

基于 Nebula Graph 构建图学习能力

NebulaGraph

数据库 开源 分布式图数据库 机器学习数据库

java培训:判断元素是不是在集合里的方法

@零度

JAVA开发

[架构实战营] 模块9设计

Vincent

「架构实战营」

紧急扩散!HDFS3.X 系列的 EC 纠删码策略有个安全隐患 HDFS-16420,极端情况下会造成数据丢失!

明哥的IT随笔

hdfs

web前端培训:WEB 安全相关面试题分享

@零度

前端开发 WEB安全

iOS应用性能数据采集原理和优化实践 | 详细版

云智慧AIOps社区

ios 性能优化 数据采集 Object-c 技术干货

Linux curl命令详解

学神来啦

云计算 Linux 运维 curl

华为云携手甘肃省医疗保障局,以数字科技为智慧医疗注入新动能

华为云数据库小助手

华为云数据库 华为云DRS 智慧医疗

《中国软件根技术发展白皮书(基础软件册)》发布!

openGauss

opengauss

上讯信息正式加入openGauss社区

openGauss

恒源云(GpuShare)_PRGC:基于潜在关系和全局对应的联合关系三元组抽取

恒源云

机器学习 深度学习 算法 知识图谱

HAVE FUN | SOFARegistry 源码解析

SOFAStack

GitHub 开源 程序员 开发者 源码剖析

2022全网最详细的音视频开发学习路线,零基础到项目实战,从小白到音视频专家

Linux服务器开发

音视频 WebRTC ffmpeg 音视频开发 流媒体服务器开发

春季招聘|Rust开发工程师们,欢迎加入!

非凸科技

中国协同办公服务软件,你更看好哪一款?

易观分析

协同办公软件

昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者

华为云开发者联盟

强化学习 mindspore ai框架 图学习 昇思MindSpore

上海英方软件正式加入openGauss社区

openGauss

opengauss

Android技术分享| anyLive 开源项目

anyRTC开发者

android 音视频 开源项目 移动开发 视频直播

大数据培训:偶然看到大数据面试题,拿出来分享

@零度

大数据 面试题

英特尔以多元化至强产品路线图 助推行业强势发展

科技新消息

WhiteSource SAST:下一代应用程序安全

龙智—DevSecOps解决方案

静态应用安全测试 SAST

极光笔记 | 基于Robotframework框架进行服务端SDK的自动化(C++版本)

极光JIGUANG

c++

华为云大数据轻模式体验:忘掉底层烦恼,专注数据开发

华为云开发者联盟

大数据 Serverless 数据湖 数据开发 华为云

经验分享 | 如何搭建FAQ/用户培训手册

小炮

运营 客户服务

一文看懂JVM运行时内存分布

黄林晴

JVM

【有奖体验】:2分钟自动化部署2048小游戏到ECS

阿里云云效

阿里云 云原生 CI/CD 自动化部署 ECS

ENS 域名终极指南

devpoint

以太坊 eth 3月月更 ens

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