Ami a különlegességet adja egy ilyen szerviznek az az, hogy a konfigurációs fájlban (OSGI-INF/componentname.xml) meg lehet adni függőségeket (reference) a szervizünknek. Ezzel kiváltatjuk (ami természetesen, így erős túlzás, de attól még igaz) a ServiceListener + Tracker + Customizer játékot.
Gyors példa egy épp aktuális projektből:
Lényeges részek (jelen esetben):
- interface: amitől "függ" a szolgáltatásunk
- cardinality: min.-max. előfordulás (0..n, 1..1, 0..1, 1..n)
- bind/unbind: azon metódusok, amik a számunkra "szükséges" szolgáltatásokat kezelik.
- activate/deactivate: ezen két metódusnak egy ComponentContext szerepel0, ha implementálva vannak a szervizünkben.