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 markup

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

Zvýšení přehlednosti

Changed lines 72-73 from:
to:
Changed lines 79-80 from:

=== Vytvoření projektu ===

to:

Vytvoření projektu

Changed lines 85-86 from:
to:
Changed lines 89-90 from:
to:
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:
to:
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 sety.

1) V pravém horním rohu Package Exploreru 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í)