嗨,我是 osgi 的新手。谁能帮我理解 osgi 是容器还是框架?任何人都可以请解释两者之间的区别。谢谢,这将是一个很大的帮助。
问问题
110 次
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 回答