Hlavní menu
Nástroje |
UvodDoKomponent.MessagePrinterDS HistoryHide minor edits - Show changes to markup 16 December 2009, 15:04
by
- Added lines 1-44:
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 Message Printer v Declarative ServicesImplementace v DS vychází z MessagePrinterOsgi. Odstranili jsme ale Activatory a přidali jsme komponentové definiční soubory. Serverový definiční souborAbychom mohli v OSGi zaregistrovat službu pomocí DS, musíme udělat dva kroky: 1) Vytvořit si komponentový definiční soubor pro implementaci konkrétního rozhranní 2) Pomocí tagu
Tato registrace je tedy ještě jednodušší než ve Spring DM. <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="MessagePrinterDSServer"> <implementation class="cz.zcu.kiv.cosi.msgtalk.server.MsgGenImpl"/> <service> <provide interface="cz.zcu.kiv.cosi.msgtalk.IMsgGen"/> </service> </scr:component> Klientský konfigurační souborProtože chceme získat službu, která je zaregistrovaná na rozhranní
Cardinality určuje vazbu mezi definovanou komponentou a referenční komponentou. První číslo určuje zda musí být referenční komponenta již definována, či nám na tom nezáleží. Druhé číslo definuje kolik referenčních komponent chceme - zda jednu, nebo víc.
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="MessagePrinterDSClient"> <implementation class="cz.zcu.kiv.cosi.msgtalk.client.Client"/> <reference bind="run" cardinality="1..1" interface="cz.zcu.kiv.cosi.msgtalk.IMsgGen" name="MsgGen" policy="static" /> </scr:component> |