我刚刚开始听到使用OSGi这个术语(同时阅读GlassFish和Spring等常见Java EE容器上的教程),但是我无法找到一个简单,直接,易于理解的OSGi解释就是像我这样的企业新手会理解.
有人可以提供这样的防伪解释吗?也许有一些例子甚至代码摘录?
谢谢!
And*_*aft 66
简单地说,OSGi是一个用于Java的动态模块系统.它定义了安装,卸载,更新,启动和停止模块的方法.这些模块称为bundle,但它们最简单的形式实际上是带有特殊Manifest的Java jar文件.无需停止或重新启动Java VM即可安装,卸载模块等.
OSGi框架以安全的方式管理所描述的包之间的生命周期和依赖关系.bundle需要说明它导出的Java包以及它导入的包.可以使用版本信息对import和export语句进行批注,这样您甚至可以在同一Java VM中拥有同一软件包的多个版本.
OSGi联盟是指定OSGi框架和许多附带服务的组织,例如用于管理配置数据,设备访问等.
这只是一个非常基本的概述.OSGi更多.请查看https://www.osgi.org/developer/architecture/(OSGi架构简介)和https://www.osgi.org/developer/where-to-start/(很多链接)以及OSGi联盟推荐的进一步读数.
Ara*_*ram 32
以牺牲一些票数为代价;-),我想用自己的话回答这个问题(这样我就可以根据自己的理解得到纠正).
我们将应用程序构建为一组模块,每个模块本身具有内聚功能,并与其他模块松散耦合.您可能已经知道这有许多优点.加班时间,模块化的单位已经从功能到类,包再到部署单元(如Java中的jar和.Net中的汇编).但所有这些只是在开发期间,一旦部署了应用程序(这是一组模块),服务器仍然将其视为一个巨大的单片应用程序,即在运行时期间不保留逻辑边界.除了这里概述的其他好处之外,OSGi在开发和运行期间使这些边界显而易见
我建议这本优秀的免费书籍让你开始实践OSGi
如果您在Java平台上工作,请查看此演示文稿:为什么OSGi规范基于Java™技术?