OSGi是什么,可以用通俗的话描述下吗?

发布于 2021-11-25 03:13:03 字数 290 浏览 763 评论 20

OSGi(Open Service Gateway Initiative)技术是面向Java的动态模型系统。OSGi服务平台向Java提供服务,这些服务使Java成为软件集成和软件开发的首选环境。Java提供在多个平台支持产品的可移植性。OSGi技术提供允许应用程序使用精炼、可重用和可协作的组件构建的标准化原语。这些组件能够组装进一个应用和部署中。

上面这段语言太官方了。我查了下osgi,感觉他是对java web各个组件的动态集成的协议,比如可以动态选择web组件struts spring hibernate ibatis等等,对吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(20

想挽留 2021-11-30 14:30:22

+1,银行系统我不了解,IDE的插件功能都是依赖OSGI的,web系统我见过jira也是osgi,开发插件.只要是真正意义上的插件系统,几乎都是OSGI.

旧城烟雨 2021-11-30 14:30:09

楼上的很多都没入门,在门外叫的真让人烦躁。审视一下自己的高度先。有名的两个开发环境eclipse,idea都是依赖于它,glassfish,webspare也是依他搭建。国内电信行业,银行行业用的也多。

疾风者 2021-11-30 14:29:51

热插拔只是osgi其中一个,插件才是最重要的特点

终遇你 2021-11-30 14:29:49

简单说一下场景:

模块化开发中,(常用于服务治理等),需要定义供其他模块实用的接口、对象等,使用OSGI相应规范去曝露(<Export-Package>).而该模块的依赖也是通过相应规范去定义(<Import-Package>).这样该模块依赖什么,曝露了那些接口可供其他模块使用就定义好了。

OK,重要的时刻来临了,在一个有多个模块同时运行的大系统中,随时可能有一些模块改了bug拉,加了新功能了,需要上线发布。??停掉所有服务?NO,直接发布,其他的事情交给OSGI容器搞定.

个人长期使用的浅显看法,不对地方欢迎拍~

2021-11-30 14:29:29

有点意思,感觉有点SOA的模块化版本

半世蒼涼 2021-11-30 14:29:25

简单说一下场景:

模块化开发中,(常用于服务治理等),需要定义供其他模块实用的接口、对象等,使用OSGI相应规范去曝露(<Export-Package>).而该模块的依赖也是通过相应规范去定义(<Import-Package>).这样该模块依赖什么,曝露了那些接口可供其他模块使用就定义好了。

OK,重要的时刻来临了,在一个有多个模块同时运行的大系统中,随时可能有一些模块改了bug拉,加了新功能了,需要上线发布。??停掉所有服务?NO,直接发布,其他的事情交给OSGI容器搞定.

个人长期使用的浅显看法,不对地方欢迎拍~

冷弦 2021-11-30 14:29:19

没真正用过的就别掺合了。。

情痴 2021-11-30 14:28:11

麻烦

孤独患者 2021-11-30 14:27:49

麻烦

悟红尘 2021-11-30 14:19:23

回复
银行的核心交易系统很多都用java

自此以后,行同陌路 2021-11-30 14:12:56

回复
外围用Java的多. 核心的,不都是一群C或COBOL在大机上跑着?

岁吢 2021-11-30 14:03:13

回复
如果你高峰期愿意承受10分钟以上的停顿, 你可以用Java方案做. 比如说魔都某个小银行...结果嘛...哈哈

反话 2021-11-30 13:55:58

回复
跑题了,需要osgi的热拔插是7X24的网银和atm等,真正的核心记账系统是可以夜间暂停的,再说java的浮点数实现就不合适计算金额类,所以记账是不会用java的。

背叛残局 2021-11-30 08:25:29

回复
这又是伪命题了。记账都能被暂停,网银却说7*24?神马状况?

情痴 2021-11-30 05:27:04

抛个砖:

普通java程序呢,只要是启动jvm,那基本上应该包含什么class文件就固定了,而且只加载一次。

问题:那我不想重启jvm的情况下加一些类,移除一些类,更换一些类呢,这种情况就没办法啦

所以呐,他们就发明了osgi,jvm只是加载框架需要的类,然后自己写类加载器,控制着用户组件的加载和移除。

嗯,大概就是这样的吧。

柠檬 2021-11-30 03:10:43

没用过,据说很复杂。

但是最近一个OSGI框架,叫gemini的,在各种语言的50多个框架里,很多性能测试中夺得头魁。http://www.techempower.com/benchmarks/#section=data-r4

绝情姑娘 2021-11-29 11:32:40

eclipse就是osgi的范例,osgi才是真正意义上的插件开发!其他的所谓插件基本上都是功能模块

累赘 2021-11-25 10:35:14

+1

孤檠 2021-11-25 05:02:01

+1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文