Harmadik féltől származó könyvtárak és osztálybetöltés
Mivel az OSGi több osztálybetöltőt használ, a bővíthető / harmadik féltől
származó könyvtárak átlátszó használatához Eclipse-ben a "buddy loading"
nevű Eclipse-specifikus mechanizmust kell használni. Ez a mechanizmus
lehetővé teszi, hogy egy köteg jelezze, ha segítségre van szüksége az
osztályok és erőforrások betöltéséhez, amennyiben az előfeltételek között
nem találja meg azokat. Ne feledje, hogy azokat a könyvtárakat hívjuk
"bővíthető függvénytáraknak", amelyeknek látniuk kell a felhasználókód
által biztosított osztályokat vagy erőforrásokat (például log4j naplózó
mechanizmus, hibernálás,...).
A "buddy loading" szükségességének jelzéséhez a kötegnek meg kell adnia a
leírófájlt és hozzá kell adni az alábbi fejlécet:
Eclipse-BuddyPolicy: <érték>
Az <érték> az osztályok kereséséhez használt stratégiát jelzi. Az
alábbiakban láthatók a támogatott stratégiák:
- registered - jelzi, hogy a buddy mechanizmus a hozzá bejegyzett
kötegekhez fordul. A köteg amely egy adott köteghez kívánja bejegyezni
magát, hozzáadja az alábbit a leírófájljához: "Eclipse-RegisterBuddy:
<bundleSymbolicName>";
- dependent - jelzi, hogy a rendszer az osztályokat/erőforrásokat
áthatóan keresi a köteg minden függőségében;
- global - jelzi, hogy a rendszer az osztályokat/erőforrásokat az
exportált csomag globális tárolójában keresi;
- app - jelzi, hogy az alkalmazás-osztálybetöltőhöz fog fordulni a rendszer;
- ext - jelzi, hogy a kiterjesztés osztálybetöltőhöz fog fordulni a rendszer;
- boot - jelzi, hogy a rendszerindító osztálybetöltőhöz fog fordulni
a rendszer.