Karaf:捆绑实例和类加载器



每个 Karaf bundle 是否由单独的类加载器加载?

一个功能的所有捆绑包是否都由 SAME 类加载器加载?

如果我在我尝试开发的新功能中包含依赖功能,该功能的捆绑包是否会使用 SAME 类加载器作为我尝试开发的功能?

在OSGi中,通常每个bundle都有自己的类加载器。此类装入器为捆绑包的类提供服务,并将委托给此捆绑包从中导入包的捆绑包的类装入器。所以基本上每个类通常由类所在的捆绑包的类加载器加载。然后,清单和 OSGi 解析器中的 Import-Package 和 Export-Package 语句确保捆绑包也可以看到其他捆绑包的类。

卡拉夫特征与类加载器完全无关。它们只是定义加载哪些捆绑包。

最新更新