嗨,我是osgi的新手。谁能帮助我理解osgi是一个容器还是框架?任何人都可以解释两者之间的区别。谢谢,这将是一个很大的帮助。
答案 0 :(得分:1)
这取决于那些你的含义,没有普遍接受的定义。
从我的角度来看,OSGi实际上并不是一个容器,因为它不会包含你的代码或更改执行模型。所以我更喜欢术语框架,实际上大多数文档都将其称为“OSGi框架”或有时称为“OSGi服务平台”。
例如:您可以用5到10行Java代码创建一个运行且有用的OSGi框架。
答案 1 :(得分:1)
我将框架定义为您编写的库,并且可以控制执行。所以例如spring是一个框架和OSGi以同样的方式。
容器是您可以启动的通用应用程序,您可以在其中部署可执行的工件。默认情况下,OSGi不允许您部署工件。它主要提供和API,允许您加载和启动包。实际上,几乎所有OSGi实现都允许从某个目录进行部署。所以至少这些实现也是容器。
像尼尔一样写道,我的定义不是唯一的,因此上述内容可能并非普遍存在。