23 Das Equinox Application Model414
über den Extension Point org.eclipse.core.runtime.applications als
Extension registriert wird.
Wenn Sie Eclipse Equinox starten, wird zunächst das OSGi Frame-
work gestartet. Mit dem Starten des Frameworks werden alle in der
Framework-Konfiguration angegebenen Bundles installiert und gestar-
tet (vgl. Unterkapitel 11.5). Unmittelbar danach kann eine Anwen-
dung ausgeführt werden, die über einen Startparameter oder ein Sys-
tem-Property konfiguriert wird.
Der Vorteil dieses Modells liegt darin, dass auf ein und derselben
Infrastruktur unterschiedliche Anwendungen ausgeführt werden kön-
nen. So wird bspw. beim Starten der Eclipse IDE die Anwendung
org.eclipse.ui.internal.ide.application.IDEApplication ausgeführt,
die ihrerseit die Eclipse Workbench startet. Alternativ ist es aber auch
möglich, andere Anwendungen wie bspw. den Ant Runner (vgl. Unter-
kapitel 11.4) auszuführen, der auf Basis der (gestarteten) Eclipse-Infra-
struktur automatisierte Build-Läufe realisiert.
Der Eclipse
Application Container
Equinox-Anwendungen können zudem über den Application
Admin Service administriert werden (vgl. Kapitel 20). Dazu stellt
Equinox einen eigenen Application Container bereit, der Bestandteil
des Bundles
org.eclipse.equinox.app ist.
23.3 Equinox-Anwendungen implementieren
23.3.1 Das Interface IApplication
Anwendungen, die über den Equinox Application Container verwaltet
werden sollen, müssen das Interface
org.eclipse.equinox.app.IAppli-
cation implementieren.
package org.eclipse.equinox.app;
public interface IApplication {
public static final Integer EXIT_OK = new Integer(0);
public static final Integer EXIT_RESTART = new Integer(23);
public static final Integer EXIT_RELAUNCH = new Integer(24);
public Object start(IApplicationContext context)
throws Exception;
public void stop();
}
Das IApplication-Interface stellt zwei Methoden zum Starten und
Beenden der Anwendung zur Verfügung, über die der Lebenszyklus
einer Anwendung gesteuert wird:
Listing 23–5
Das Interface
IApplication