1

嗨,我是 osgi 的新手。谁能帮我理解 osgi 是容器还是框架?任何人都可以请解释两者之间的区别。谢谢,这将是一个很大的帮助。

4

2 回答 2

1

这取决于所说的这些术语的含义,两者都没有普遍接受的定义。

从我的角度来看,OSGi 并不是真正的容器,因为它不会包裹您的代码或更改执行模型。所以我更喜欢框架这个术语,实际上大多数文档都将其称为“OSGi 框架”或有时称为“OSGi 服务平台”。

例如:您可以用 5 到 10 行 Java 代码创建一个可运行且有用的 OSGi 框架。

于 2012-07-13T08:10:27.360 回答
1

我会将框架定义为您对其进行编码并控制执行的库。所以例如 spring 是一个框架和 OSGi 以同样的方式。

容器是您可以启动的通用应用程序,您可以在其中部署可执行工件。默认情况下,OSGi 不允许您部署工件。它主要提供允许您加载和启动捆绑包的 API。实际上,尽管几乎所有 OSGi 实现都允许从某个目录进行部署。所以至少实现也是容器。

就像尼尔写的那​​样,我的定义不是唯一的,所以上述内容可能并不普遍正确。

于 2012-07-13T18:14:44.620 回答