Chargement des bibliothèques et des classes de tiers

Parce que OSGi utilise multiples chargeurs de classes, l'usage transparent de bibliothèques de tiers extensibles/configurables exige l'utilisation d'un mécanisme spécifique d'Eclipse appelé "buddy loading". Ce mécanisme permet à un bundle d'indiquer qu'il a besoin d'une assistance pour charger des classes ou des ressources lorsqu'il ne les trouve pas dans ses prérequis. Notez que nous appelons "bibliothèques extensibles", des bibliothèques qui ont besoin de voir les classes ou les ressources fournies par le code de l'utilisateur (par exemple log4j logger mechanism, hibernate,...).

Pour indiquer le besoin d'un chargement coopératif, un bundle doit modifier son manifeste et ajouter l'en-tête suivante :

    Eclipse-BuddyPolicy: <value>

<value> se réfère à la règle utilisée pour rechercher les classes. Les règles prises en charge sont les suivantes :