Hlavní menu

Nástroje

UvodDoKomponent / HelloWorldOsgi

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

Updated 22 January 2015, 16:09 by PremekBrada

UvodDoKomponent.HelloWorldOsgi History

Hide minor edits - Show changes to output

22 January 2015, 16:09 by PremekBrada -
Changed lines 1-2 from:
!! Hello world v Osgi
to:
!! Hello World v OSGi
22 January 2015, 16:08 by PremekBrada -
Deleted line 27:
=java122 [=
Changed lines 31-32 from:
=]
to:
16 December 2009, 13:27 by Snajberk -
Changed lines 24-25 from:
V OSGi jsou dva - <code>MANIFEST.MF</code> (zde dochází k nastavení celé aplikace) a <code>Activator</code>, kde dochází ke spuštění OSGi bundle.
to:
V OSGi jsou dva - @@MANIFEST.MF@@ (zde dochází k nastavení celé aplikace) a @@Activator@@, kde dochází ke spuštění OSGi bundle.
Changed line 28 from:
<source>
to:
=java122 [=
Changed lines 32-33 from:
</source>
to:
=]
16 December 2009, 11:02 by Snajberk -
Changed line 28 from:
'^
to:
<source>
Changed lines 32-33 from:
^'
to:
</source>
16 December 2009, 11:01 by Snajberk -
Changed line 28 from:
<source>
to:
'^
Changed lines 32-33 from:
</source>
to:
^'
16 December 2009, 11:00 by Snajberk -
Changed lines 26-27 from:
Activator obsahuje dvě metody <code>start()</code> (provede se při spouštění bundle) a <code>stop()</code> (provede se při ukončení bundle).
to:
Activator obsahuje dvě metody @@start()@@ (provede se při spouštění bundle) a @@stop()@@ (provede se při ukončení bundle).
16 December 2009, 10:59 by Snajberk -
Added lines 1-56:
!! Hello world v Osgi

!!! 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 můžeme pokračovat rovnou dále '''Next'''. Nebo můžeme změnit automaticky vytvořený startovní package v políčku '''Activator:''' a zadáváme ve tvaru '''vas.package.Activator'''

Na této nové stránce si vybereme z vytvořených templatů Hello OSGi Bundle

Attach:finish-new-osgi-project.png


!!! Nejdůležitější soubory

V OSGi jsou dva - <code>MANIFEST.MF</code> (zde dochází k nastavení celé aplikace) a <code>Activator</code>, kde dochází ke spuštění OSGi bundle.

Activator obsahuje dvě metody <code>start()</code> (provede se při spouštění bundle) a <code>stop()</code> (provede se při ukončení bundle).

<source>
public void start(BundleContext context) throws Exception {
System.out.println("Hello World!!");
}
</source>

!!! 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 5 spuštěných bundlů, nemluvě o podstatně větší rychlosti spouštění)