Hlavní menu

Nástroje

UvodDoKomponent / HelloWorldDS

View (print) - Edit page | Recent changes - Page history

Updated 16 December 2009, 15:02 by Snajberk

UvodDoKomponent.HelloWorldDS History

Hide minor edits - Show changes to output

16 December 2009, 15:02 by Snajberk -
Added lines 1-43:
!! Hello World v Declarative Services

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.

!!! Jednoduchý Hello.java

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)@@.

=java122 [=
public class Hello {
protected void activate(ComponentContext ctxt) {
System.out.println("Hi there!");
}
}
=]

!!! Nastavení komponentového souboru

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

=java122 [=
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="HelloWorldDS">
<implementation class="world.hello.Hello"/>
</scr:component>
=]

!!! Spouštění Hello World

Spuštění je samozřejmě jednoduché a stejné jako u OSGi, konkrétněji na konci [[TutoriálDeclarativeServices]].