Hlavní menu

Nástroje

UvodDoKomponent / TutoriálDeclarativeServices

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

Updated 16 December 2009, 15:00 by Snajberk

UvodDoKomponent.TutoriálDeclarativeServices History

Hide minor edits - Show changes to output

16 December 2009, 15:00 by Snajberk -
Added lines 1-78:
! Vytvoření nového projektu s Declarative Services

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

!! Import potřebného bundlu

Potřebujeme implementaci '''Declarative Services''' pro prostředí, ve kterém pracujeme. Protože děláme v prostředí Eclipsu a používáme Equinox, použijeme '''org.eclipse.equinox.ds'''

!!! Získání bundlu pro Equinox

Zde popisuji konkrétně získání equinoxové implementace, pokud chcete jinou, hledejte jinde.


1) Jděte na equinoxovou [[http://download.eclipse.org/equinox/ | download page]]

2) Běžte na '''Latest release'''

3) V sekci '''Add-on Bundles''' najděte '''org.eclipse.equinox.ds''' a stáhněte

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

Attach:import-plugins.png

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

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

Attach: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é spustit ještě importovaný bundle '''org.eclipse.equinox.ds'''

A samozřejmě i náš projekt.

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

Attach: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 pár spuštěných bundlů, nemluvě o podstatně větší rychlosti spouštění)