Hlavní menu

Nástroje

UvodDoKomponent / ParkovisteSpringDM

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

Updated 22 January 2015, 15:43 by PremekBrada

UvodDoKomponent.ParkovisteSpringDM History

Hide minor edits - Show changes to markup

22 January 2015, 15:43 by PremekBrada -
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 PremekBrada -
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 PremekBrada -
Changed line 11 from:

=java122 [=

to:

[=

22 January 2015, 15:40 by PremekBrada -
16 December 2009, 14:55 by Snajberk -
Added lines 1-89:

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

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

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

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.

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

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

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

<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" />

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

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

<osgi:reference id="Brana"
interface="cz.zcu.kiv.cosi.parkoviste.konfigurace.IZapVyp"
filter="(type=brana)" />