2017-10-06 3 views
0

est chaque paquet Karaf chargé par un classloader séparé?Karaf: Bundles instances et classloaders

-ce que tous les faisceaux d'une fonction chargée par la même classloader?

Si j'inclure une fonction dépendante dans une nouvelle fonctionnalité que je suis en train de développer, serait les faisceaux de cette fonction utilisent le MEME classloader que la fonction que je suis en train de développer?

Répondre

2

En OSGi en général chaque paquet a sa propre classloader. Ce classloader sert les classes du bundle et délègue au classloader des bundles dont ce bundle importe des paquets. Donc, fondamentalement, chaque classe est normalement chargée par le classloader du bundle dans lequel réside la classe. Les instructions Import-Package et Export-Package dans le Manifest et le résolveur OSGi s'assurent ensuite que les bundles peuvent également voir les classes des autres bundles.

caractéristiques karaf sont sans aucun rapport avec classloaders. Ils définissent simplement quels paquets sont chargés.