UvodDoKomponent: HelloWorldDS |
from Wiki KIVu |
Nejprve musíme mít připravený prázdný projekt, viz. TutoriálDeclarativeServices
V takovém projektu máme defaultně vygenerovaný MANIFEST.MF, do kterého musíme importovat package org.osgi.service.component. Pak musíme ještě vytvořit dva soubory: komponentový konfigurační soubor; A samozřejmě nějakou implementaci Hello Worldu.
DS po nás nechce žádné rozšiřování tříd, nebo implementace rozhranní. Vystačíme si s úplně obyčejnou Javovskou třídou, která bude mít metodu protected void activate(ComponentContext? ctxt)
.
public class Hello { protected void activate(ComponentContext ctxt) { System.out.println("Hi there!"); } }
DS vyžaduje, aby byla vedle složky META-INF
ještě složka s názvem OSGI-INF
, do které pak umístíme náš komponentový soubor.
Nyní tedy konkrétně k vytvoření našeho komponentového souboru:
1) Přes pravé tlačítko myši na adresář OSGI-INF
vyvoláme kontextové menu a zvolíme New -> Other
2) Zvolíme typ Component definition a pokračujeme dále přes Next
3) Zde zvolíme Class: pomocí tlačítka Browse a vybereme si naši implementaci. Dokončíme pomocí Finish.
Eclipse automaticky vygeneroval následující definici komponenty, která je naprosto dostačující. Metoda activate()
se zavolá automaticky
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="HelloWorldDS"> <implementation class="world.hello.Hello"/> </scr:component>
Spuštění je samozřejmě jednoduché a stejné jako u OSGi, konkrétněji na konci TutoriálDeclarativeServices.