Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Warning: Cannot modify header information - headers already sent by (output started at /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php:564) in /home/system/www/apache/wiki.kiv.zcu.cz/index.php on line 885
Wiki KIVu > UvodDoKomponent > HelloWorldDS

UvodDoKomponent: HelloWorldDS

from Wiki KIVu

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

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

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

Retrieved from http://wiki.kiv.zcu.cz/UvodDoKomponent/HelloWorldDS
Content last modified on 16 December 2009, 15:02