Von Null auf REST mit JAX-RS

Launch und Debug

Nachdem die Projekte erstellt sind, kann der Server gestartet werden. Eclipse PDE bietet eine Unterstützung für das Starten von Anwendungen aus Eclipse heraus durch zwei Arten von Launch Configurations – OSGi Framework und Eclipse Application. Der Typ OSGi Framework erlaubt das manuelle Zusammenbauen von exakten Bundle-Konfigurationen. Dazu müssen die Bundles ausgewählt und die Start-Levels gesetzt werden. Der Typ Eclipse Application hingegen vereinfacht die Konfiguration enorm. Man wählt lediglich eine Anwendung aus, die gestartet werden soll. Diese sorgt dann für den restlichen Start des Systems. Der Start der Bundles erfolgt dann bspw. verzögert durch Lazy Activation. In Kombination mit OSGi DS ergibt sich daraus der Vorteil, dass eine Komponente erst dann instanziiert und aktiviert wird, wenn sie tatsächliche benötigt wird. Auch bei Webanwendungen kann das genutzt werden, da typischer Weise im Vergleich zu monolithischen Anwendungen auch die Aktivierung auf mehrere Häppchen verteilt wird, sodass beim Aktivieren des eigentlichen Web Bundles nur noch ein kleiner Teil anfällt. Abbildung 6 zeigt, wie die Launch-Konfiguration eingestellt wird, damit das System startet. Im Tab MAIN wird RUN AN APPLICATION ausgewählt und in der dahinter liegenden Drop-down Box wird org.eclipse.gyrex.boot.server ausgewählt. Im Tab ARGUMENTS wird im Feld PROGRAM ARGUMENTS das Argument „-console“ für das Aktivieren der OSGi-Konsole ergänzt. Alle anderen Tabs behalten ihre Standardeinstellungen. Nach dem Start erscheint der OSGi prompt im Console View und der Status der Beispiel-Bundles kann mittels „ss hello“ -Kommando geprüft werden. Beide Projekte sollten im Status STARTING sein (Abb. 7).

Abb. 6: Launch Configuration

Abb. 7: OSGi Console mit Statusausgabe

Wenn der Punkt soweit erreicht ist, dann kann die Instanz der Anwendung konfiguriert und an einem URL verfügbar gemacht werden. Die Konfiguration ist über die grafische Administrationsoberfläche möglich (URL http://localhost:3110/). Gyrex bietet aber nahezu alle Konfigurationsaktionen auch als Kommando auf der OSGi-Konsole an. Die dazu notwendigen Befehle für die OSGi-Konsole sind in Listing 5 aufgeführt. Anschließend können (ohne Neustart) die JAX-RS-Ressourcen im Browser aufgerufen werden. Die „Hallo Welt“-Ressource sollte unter http://localhost:8080/hello verfügbar sein und die „Greetings“-Ressource unter http://localhost:8080/hello/greetings.

Listing 5: Konfiguration einer Gyrex-Webanwendung per Konsole
1. Definition der Anwendung "hello.jaxrs"
   vom Typ "hello.jaxrs.application.component "
   (Konfigurations-Kontext "/") 
osgi> http defineApp hello.jaxrs hello.jaxrs.application.component /
Registered application 'hello.jaxrs'.

2. Mounten der Anwendung "hello.jaxrs"
   unter der URL "http:///hello"
osgi> http mount hello.jaxrs http:///hello
mounted url http:///hello

osgi>
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.