Hlavní menu
Nástroje |
UvodDoKomponent.ParkovisteSpringDM HistoryShow minor edits - Show changes to output 22 January 2015, 15:43
by
- Changed lines 1-11 from:
to:
!! Parkoviště ve Spring DM Implementace ve Spring DM vychází z [[ParkovisteOsgi]]. Odstranili jsme ale Activatory a přidali jsme Springové konfigurační soubory. Proto zde budou informace pouze k těmto konfiguračním souborům. O eventách si přečtěte v [[ParkovisteOsgi]]. Springové konfigurační soubory musíme vytvořit s dvěmi XSD namespacy - beans a osgi. !!! Základ všech konfiguračních souborů V každém bundlu se samozřejmě vytvoří jedna beana, která se pak musí zaregistrovat podobně jako '''Konfigurace'''. Changed lines 14-18 from:
to:
Každá služba se pak samozřejmě musí získat, aby se mohla použít. Podobně jako '''Konfigurace'''. Changed lines 18-22 from:
to:
A pokud chceme tuto referenci použít jako konstruktorový argument, musíme použít následující zápis @@<constructor-arg ref="reference"/>@@, protože jinak mi Spring DM házel chybu. Changed lines 25-31 from:
to:
!!! Získání EventAdmina Abychom mohli používat eventy, musíme si zavolat službu na rozhranní EventAdmina. Provede se to naprosto stejně, jako volání jakékoliv jiné služby v Spring DM. Tedy: Changed lines 31-44 from:
to:
!!! Eventy v konfiguračních souborech Protože konfigurační soubory nahrazují Activatory a v těch jsme si registrovali listenery, určitě budeme muset něco registrovat i zde. Při registraci EventHandlera jsme v Activatoru používali vytvořenou instanci listeneru a parametry. Zde tedy použijeme referenci na beanu (což je vlastně ta instance listeneru). A parametry službě nastavíme pomocí vnořeného uzlu @@<osgi:service-properties>@@, do kterého se vkládají parametry obdobně jako do hashovací tabulky, tedy pomocí @@<entry key="klic" value="hodnota" />@@ Changed lines 49-61 from:
to:
!!! Registrace služby na víc rozhranní Stejně jako v OSGi implementaci, i zde Brana implementuje dvě rozhranní - IZapVyp a IPrijeloOdjelo. V OSGi jsme se však nemuseli starat o způsob registrace služby. Zaregistrovali jsme ji na IZapVyp, ale bez problému šla přetypovat i na IPrijeloOdjelo. To však ve Spring DM nejde. @@<osgi:service>@@ totiž odešle beanu pouze s tou informací, že jde o rozhranní, pod kterým jsme službu zaregistrovali. Přetypovat pak nejde. Musíme ji tedy zaregistrovat pod několik rozhranní, jako v následujícím příkladu. Využijeme uzlu @@<osgi:interfaces>@@ Changed lines 70-76 from:
to:
!!! Použití filtru při výběru služby Podobně jako v OSGi i zde můžeme použít filtr, když máme na jednom rozhranní zaregistrováno více služeb. Použití je ještě jednodušší - použije se atribut @@filter="(pravidlo)"@@ Deleted line 78:
=] 22 January 2015, 15:42
by
- Changed lines 1-10 from:
!! Parkoviště ve Spring DM Implementace ve Spring DM vychází z [[ParkovisteOsgi]]. Odstranili jsme ale Activatory a přidali jsme Springové konfigurační soubory. Proto zde budou informace pouze k těmto konfiguračním souborům. O eventách si přečtěte v [[ParkovisteOsgi]]. Springové konfigurační soubory musíme vytvořit s dvěmi XSD namespacy - beans a osgi. !!! Základ všech konfiguračních souborů V každém bundlu se samozřejmě vytvoří jedna beana, která se pak musí zaregistrovat podobně jako '''Konfigurace'''. to:
Changed lines 16-18 from:
Každá služba se pak samozřejmě musí získat, aby se mohla použít. Podobně jako '''Konfigurace'''. =java122 [= to:
Changed lines 22-24 from:
A pokud chceme tuto referenci použít jako konstruktorový argument, musíme použít následující zápis @@<constructor-arg ref="reference"/>@@, protože jinak mi Spring DM házel chybu. =java122 [= to:
Changed lines 31-35 from:
!!! Získání EventAdmina Abychom mohli používat eventy, musíme si zavolat službu na rozhranní EventAdmina. Provede se to naprosto stejně, jako volání jakékoliv jiné služby v Spring DM. Tedy: =java122 [= to:
Changed lines 39-50 from:
!!! Eventy v konfiguračních souborech Protože konfigurační soubory nahrazují Activatory a v těch jsme si registrovali listenery, určitě budeme muset něco registrovat i zde. Při registraci EventHandlera jsme v Activatoru používali vytvořenou instanci listeneru a parametry. Zde tedy použijeme referenci na beanu (což je vlastně ta instance listeneru). A parametry službě nastavíme pomocí vnořeného uzlu @@<osgi:service-properties>@@, do kterého se vkládají parametry obdobně jako do hashovací tabulky, tedy pomocí @@<entry key="klic" value="hodnota" />@@ =java122 [= to:
Changed lines 59-69 from:
!!! Registrace služby na víc rozhranní Stejně jako v OSGi implementaci, i zde Brana implementuje dvě rozhranní - IZapVyp a IPrijeloOdjelo. V OSGi jsme se však nemuseli starat o způsob registrace služby. Zaregistrovali jsme ji na IZapVyp, ale bez problému šla přetypovat i na IPrijeloOdjelo. To však ve Spring DM nejde. @@<osgi:service>@@ totiž odešle beanu pouze s tou informací, že jde o rozhranní, pod kterým jsme službu zaregistrovali. Přetypovat pak nejde. Musíme ji tedy zaregistrovat pod několik rozhranní, jako v následujícím příkladu. Využijeme uzlu @@<osgi:interfaces>@@ =java122 [= to:
Changed lines 81-85 from:
!!! Použití filtru při výběru služby Podobně jako v OSGi i zde můžeme použít filtr, když máme na jednom rozhranní zaregistrováno více služeb. Použití je ještě jednodušší - použije se atribut @@filter="(pravidlo)"@@ =java122 [= to:
22 January 2015, 15:40
by
- Changed line 11 from:
=java122 [= to:
[= 22 January 2015, 15:40
by - 16 December 2009, 14:55
by
- Added lines 1-89:
!! Parkoviště ve Spring DM Implementace ve Spring DM vychází z [[ParkovisteOsgi]]. Odstranili jsme ale Activatory a přidali jsme Springové konfigurační soubory. Proto zde budou informace pouze k těmto konfiguračním souborům. O eventách si přečtěte v [[ParkovisteOsgi]]. Springové konfigurační soubory musíme vytvořit s dvěmi XSD namespacy - beans a osgi. !!! Základ všech konfiguračních souborů V každém bundlu se samozřejmě vytvoří jedna beana, která se pak musí zaregistrovat podobně jako '''Konfigurace'''. =java122 [= <osgi:service id="KonfiguraceZarizeniService" ref="KonfiguraceZarizeni" interface="cz.zcu.kiv.cosi.parkoviste.konfigurace.IKonfigurace" /> =] Každá služba se pak samozřejmě musí získat, aby se mohla použít. Podobně jako '''Konfigurace'''. =java122 [= <osgi:reference id="KonfiguraceZarizeni" interface="cz.zcu.kiv.cosi.parkoviste.konfigurace.IKonfigurace" /> =] A pokud chceme tuto referenci použít jako konstruktorový argument, musíme použít následující zápis @@<constructor-arg ref="reference"/>@@, protože jinak mi Spring DM házel chybu. =java122 [= <bean id="Parkoviste" class="cz.zcu.kiv.cosi.parkoviste.parkoviste.Parkoviste"> <constructor-arg ref="KonfiguraceZarizeni"/> </bean> =] !!! Získání EventAdmina Abychom mohli používat eventy, musíme si zavolat službu na rozhranní EventAdmina. Provede se to naprosto stejně, jako volání jakékoliv jiné služby v Spring DM. Tedy: =java122 [= <osgi:reference id="EventAdmin" interface="org.osgi.service.event.EventAdmin" /> =] !!! Eventy v konfiguračních souborech Protože konfigurační soubory nahrazují Activatory a v těch jsme si registrovali listenery, určitě budeme muset něco registrovat i zde. Při registraci EventHandlera jsme v Activatoru používali vytvořenou instanci listeneru a parametry. Zde tedy použijeme referenci na beanu (což je vlastně ta instance listeneru). A parametry službě nastavíme pomocí vnořeného uzlu @@<osgi:service-properties>@@, do kterého se vkládají parametry obdobně jako do hashovací tabulky, tedy pomocí @@<entry key="klic" value="hodnota" />@@ =java122 [= <osgi:service id="BranaListenerService" ref="Brana" interface="org.osgi.service.event.EventHandler" > <osgi:service-properties> <entry key="event.topics" value="parkoviste/plne" /> </osgi:service-properties> </osgi:service> =] !!! Registrace služby na víc rozhranní Stejně jako v OSGi implementaci, i zde Brana implementuje dvě rozhranní - IZapVyp a IPrijeloOdjelo. V OSGi jsme se však nemuseli starat o způsob registrace služby. Zaregistrovali jsme ji na IZapVyp, ale bez problému šla přetypovat i na IPrijeloOdjelo. To však ve Spring DM nejde. @@<osgi:service>@@ totiž odešle beanu pouze s tou informací, že jde o rozhranní, pod kterým jsme službu zaregistrovali. Přetypovat pak nejde. Musíme ji tedy zaregistrovat pod několik rozhranní, jako v následujícím příkladu. Využijeme uzlu @@<osgi:interfaces>@@ =java122 [= <osgi:service id="BranaService" ref="Brana"> <osgi:interfaces> <value>cz.zcu.kiv.cosi.parkoviste.konfigurace.IZapVyp</value> <value>cz.zcu.kiv.cosi.parkoviste.brana.IPrijeloOdjelo</value> </osgi:interfaces> <osgi:service-properties> <entry key="type" value="brana" /> </osgi:service-properties> </osgi:service> =] !!! Použití filtru při výběru služby Podobně jako v OSGi i zde můžeme použít filtr, když máme na jednom rozhranní zaregistrováno více služeb. Použití je ještě jednodušší - použije se atribut @@filter="(pravidlo)"@@ =java122 [= <osgi:reference id="Brana" interface="cz.zcu.kiv.cosi.parkoviste.konfigurace.IZapVyp" filter="(type=brana)" /> =] |