Hlavní menu

Nástroje

UvodDoKomponent / TutoriálSpringDM

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

Updated 16 December 2009, 14:43 by Snajberk

UvodDoKomponent.TutoriálSpringDM History

Hide minor edits - Show changes to output

16 December 2009, 14:43 by Snajberk -
Changed lines 12-14 from:
K importu budete potřebovat poslední distribuci s dependencies, kterou můžete nalézt [http://www.springsource.org/osgi zde v sekci Downloads].

to:
K importu budete potřebovat poslední distribuci s dependencies, kterou můžete nalézt [[http://www.springsource.org/osgi | zde v sekci Downloads]].

Changed lines 17-33 from:
Ze složky <code>C:\...cesta k rozbalené distribuci...\spring-osgi-verze\dist</code> importujte následující bundly:

* <code>org.springframeork.osgi.bundle.core</code>
* <code>org.springframeork.osgi.bundle.extender</code>
* <code>org.springframeork.osgi.bundle.io</code>


A ze složky <code>C:\...cesta k rozbalené distribuci...\spring-osgi-verze\lib</code> importujte následující bundly:

* <code>org.springframeork.bundle.spring.aop</code>
* <code>org.springframeork.bundle.spring.beans</code>
* <code>org.springframeork.bundle.spring.context</code>
* <code>org.springframeork.bundle.spring.core</code>
* <code>org.springframeork.osgi.aopalliance.osgi</code>


to:
Ze složky @@C:\...cesta k rozbalené distribuci...\spring-osgi-verze\dist@@ importujte následující bundly:

* @@org.springframeork.osgi.bundle.core@@
* @@org.springframeork.osgi.bundle.extender@@
* @@org.springframeork.osgi.bundle.io@@


A ze složky @@C:\...cesta k rozbalené distribuci...\spring-osgi-verze\lib@@ importujte následující bundly:

* @@org.springframeork.bundle.spring.aop@@
* @@org.springframeork.bundle.spring.beans@@
* @@org.springframeork.bundle.spring.context@@
* @@org.springframeork.bundle.spring.core@@
* @@org.springframeork.osgi.aopalliance.osgi@@


Changed lines 36-52 from:
Ze složky <code>C:\...cesta k rozbalené distribuci...\spring-osgi-verze\dist</code> importujte následující bundly:

* <code>org.springframeork.osgi.core</code>
* <code>org.springframeork.osgi.extender</code>
* <code>org.springframeork.osgi.io</code>


A ze složky <code>C:\...cesta k rozbalené distribuci...\spring-osgi-verze\lib</code> importujte následující bundly:

* <code>org.springframeork.aop</code>
* <code>org.springframeork.beans</code>
* <code>org.springframeork.context</code>
* <code>org.springframeork.core</code>
* <code>org.springframeork.osgi.catalina.osgi</code>

==== Import bundlu ====
to:
Ze složky @@C:\...cesta k rozbalené distribuci...\spring-osgi-verze\dist@@ importujte následující bundly:

* @@org.springframeork.osgi.core@@
* @@org.springframeork.osgi.extender@@
* @@org.springframeork.osgi.io@@


A ze složky @@C:\...cesta k rozbalené distribuci...\spring-osgi-verze\lib@@ importujte následující bundly:

* @@org.springframeork.aop@@
* @@org.springframeork.beans@@
* @@org.springframeork.context@@
* @@org.springframeork.core@@
* @@org.springframeork.osgi.catalina.osgi@@

!!!! Import bundlu
Changed lines 63-67 from:
[[Image:import-plugins.png]]


==== Zvýšení přehlednosti ====
to:
Attach:import-plugins.png


!!!! Zvýšení přehlednosti
Changed lines 72-73 from:
[[Image:working-sets.png]]
to:
Attach:working-sets.png
Changed lines 79-80 from:
=== Vytvoření projektu ===
to:
!!! Vytvoření projektu
Changed lines 85-86 from:
[[Image:new-osgi-project.png]]
to:
Attach:new-osgi-project.png
Changed lines 89-90 from:
[[Image:name-osgi-project.png]]
to:
Attach:name-osgi-project.png
Changed lines 95-96 from:
=== Spuštění projektu ===
to:
!!! Spuštění projektu
Changed lines 99-107 from:
* <code>org.springframeork.osgi.core</code>
* <code>org.springframeork.osgi.extender</code>
* <code>org.springframeork.osgi.io</code>
* <code>org.springframeork.aop</code>
* <code>org.springframeork.beans</code>
* <code>org.springframeork.context</code>
* <code>org.springframeork.core</code>
* <code>org.springframeork.osgi.catalina.osgi</code>
to:
* @@org.springframeork.osgi.core@@
* @@org.springframeork.osgi.extender@@
* @@org.springframeork.osgi.io@@
* @@org.springframeork.aop@@
* @@org.springframeork.beans@@
* @@org.springframeork.context@@
* @@org.springframeork.core@@
* @@org.springframeork.osgi.catalina.osgi@@
Changed lines 110-111 from:
=== Spuštění bundle ===
to:
!!! Spuštění bundle
Changed lines 125-126 from:
[[Image:osgi-run-configuration.png]]
to:
Attach:osgi-run-configuration.png
16 December 2009, 11:08 by Snajberk -
Added lines 1-132:
!! Vytvoření nového Spring DM projektu

Oproti čistému Springu, či čistému OSGi je to činnost poprvé zdlouhavější. Je totiž nutné si pro Spring DM upravit celý '''workspace''', konkrétněji importem několika Spring DM bundlů.

Doporučuji tedy přepnout do nového workspacu, který bude použit čistě pro Spring DM.

Vytvoření projektu se skládá ze dvou relativně jednoduchých kroků - importu potřebných bundlů a vytvoření prázdného OSGi projektu bez Activatoru.


!!! Bundly, které musí být importovány

K importu budete potřebovat poslední distribuci s dependencies, kterou můžete nalézt [http://www.springsource.org/osgi zde v sekci Downloads].


Při svém googlení jsem našel několik návodů, kde všechny říkaly, že se mají importovat následující bundly:

Ze složky <code>C:\...cesta k rozbalené distribuci...\spring-osgi-verze\dist</code> importujte následující bundly:

* <code>org.springframeork.osgi.bundle.core</code>
* <code>org.springframeork.osgi.bundle.extender</code>
* <code>org.springframeork.osgi.bundle.io</code>


A ze složky <code>C:\...cesta k rozbalené distribuci...\spring-osgi-verze\lib</code> importujte následující bundly:

* <code>org.springframeork.bundle.spring.aop</code>
* <code>org.springframeork.bundle.spring.beans</code>
* <code>org.springframeork.bundle.spring.context</code>
* <code>org.springframeork.bundle.spring.core</code>
* <code>org.springframeork.osgi.aopalliance.osgi</code>



Zdá se však, že v nové verzi Spring DM byly změněny názvy bundlů. Importoval jsem tedy následující bundly, s kterými mi vše fungovalo:

Ze složky <code>C:\...cesta k rozbalené distribuci...\spring-osgi-verze\dist</code> importujte následující bundly:

* <code>org.springframeork.osgi.core</code>
* <code>org.springframeork.osgi.extender</code>
* <code>org.springframeork.osgi.io</code>


A ze složky <code>C:\...cesta k rozbalené distribuci...\spring-osgi-verze\lib</code> importujte následující bundly:

* <code>org.springframeork.aop</code>
* <code>org.springframeork.beans</code>
* <code>org.springframeork.context</code>
* <code>org.springframeork.core</code>
* <code>org.springframeork.osgi.catalina.osgi</code>

==== Import bundlu ====

1) V menu zvolte '''File -> Import'''

2) V otevřeném okně vyberte '''Plug-ins and Fragments''' a jděte dál

3) V novém okně vyberte v sekci '''Import from''' možnost '''Directory''' a zadejte cestu k bundlu, pokračujte '''Next'''.

4) Vlevo bude seznam dostupných bundlů, vyberte tedy ty, které potřebujete

(pro ilustraci importovací okno)

[[Image:import-plugins.png]]


==== Zvýšení přehlednosti ====

Pro zvýšení přehlednosti doporučuji zavést '''Working set'''y.

1) V pravém horním rohu '''Package Explorer'''u můžeme nalézt kontextové menu určené pro práci s Working sety.

[[Image:working-sets.png]]

2) Klikneme na '''Top level elements -> Working sets'''

3) V '''Configure working sets''' nastavíme vše tak, jak si přejeme.


=== Vytvoření projektu ===

1) V menu vybereme '''File -> New -> Other'''

2) V otevřeném okně pak zvolíme '''Plug-in Project''' a pokračujeme do dalšího okna '''Next'''

[[Image:new-osgi-project.png]]

3) V novém okně pak pouze vyplníme '''Project name''' a změníme parametr '''This plugin is targeted to run with:''' na hodnotu '''an OSGi framework:''' a pokračujeme dál '''Next'''

[[Image:name-osgi-project.png]]

4) Na této stránce odklepneme možnost '''Generate an Activator, a java class that controls ...''', protože nechceme, aby se tento soubor generoval.

5) A projekt vytvoříme kliknutím na '''Finish'''

=== Spuštění projektu ===

Spuštění je opět stejné jako u OSGi, viz popis Spuštění bundle. Je však nutné spouštět všechny bundly, které jsme importovali, tedy:

* <code>org.springframeork.osgi.core</code>
* <code>org.springframeork.osgi.extender</code>
* <code>org.springframeork.osgi.io</code>
* <code>org.springframeork.aop</code>
* <code>org.springframeork.beans</code>
* <code>org.springframeork.context</code>
* <code>org.springframeork.core</code>
* <code>org.springframeork.osgi.catalina.osgi</code>

A samozřejmě i s naším projektem.

=== Spuštění bundle ===

1) Přes pravé tlačítko na název projektu se dostaneme ke kontextovému menu. Zde zvolíme '''Run As -> OSGi Framework'''
(tímto se vytvoří nová spouštěcí konfigurace pro OSGi frameworky a defaultně se začnou spouštět všechny eclipsové bundly)

2) V menu tedy zvolíme '''Run -> Run configurations ...'''

3) Pokud vám okno už nenaběhlo na položku '''OSGi Framework''', přepněte se na ni, uvidíte seznam všech spustitelných bundlů

4) Aby se nespouštěli všechny, musíme je nejprve vypnout kliknutím na checkbox (Target Platform) v seznamu bundlů

5) A abychom nezpůsobili nějaké problémy, přidáme potřebné bundly pomocí tlačítka '''Add Required Bundles'''

Okno by mělo vypadat následovně:

[[Image:osgi-run-configuration.png]]

Pokud nyní spustíme Equinox, tak zjistíme, že se stále spouští všechny bundly, což nechceme, protože to hrozně zdržuje.
(pokud chcete vědět, co je spuštěné, napište do konzole příkaz '''ss''')

6) V konfiguraci tedy přepneme na záložku '''Settings''' a zaškrtneme checkbox '''Clear the configuration area before lauchin'''

(pokud nyní zkusíme příkaz '''ss''' uvidíme jen 5 spuštěných bundlů, nemluvě o podstatně větší rychlosti spouštění)