Geronimo lebt!

Ausritt

Vor dem ersten Serverstart sollten Sie die JVM-Speicherparameter erhöhen, zum Beispiel auf set JAVA_OPTS=-Xms512m -Xmx512m -XX:MaxPermSize=128m. Nach dem Start mit startup.bat oder noch besser mit geronimo.bat run kann die komfortable Geronimo-Konsole unter http://localhost:8080/console aufgerufen werden. Welche Module gerade laufen, welche Ports gerade belegt sind und unter welchen URLs die Webanwendungen aufzurufen sind, wird am Ende des Serverstarts ausgegeben (Abb. 4). Es ist jedoch möglich, die traditionelle GBeans-Modulsicht mit dem Befehl deploy list-modules anzuzeigen. In der Karaf-Umgebung können Sie dasselbe für die OSGi Bundles mit den Befehlen osgi:info, osgi:list oder obr:list tun.

Abb. 4: Karaf-Dienste

Um zu zeigen, wie leicht OSGi-konforme Anwendungen in Geronimo zu realisieren sind, laden wir uns die Apache-Aries-Beispiele von der entsprechenden Webseite herunter. Bei dem Aries-Beispiel handelt es sich um eine Blogging-Anwendung, die entweder direkt über JDBC oder über JPA in eine Derby-Datenbank schreibt. Sie besteht aus folgenden vier OSGi Bundles, die in der Blueprint-Anwendungsdatei APPLICATION.MF mit den Versionsangaben eingetragen sind (Abb. 5):

  • org.apache.aries.samples.blog.api.jar
  • org.apache.aries.samples.blog.biz.jar
  • org.apache.aries.samples.blog.persistence.jpa.jar
  • org.apache.aries.samples.blog.web.jar

Abb. 5: OSGi-Blueprint-Blogbeispiel mit JNDI und JPA

Nachdem wir die Derby-Datenquelle mit den dazugehörigen Tabellen mit deploy deploy tranql-connector-derby-embed-xa-1.6.rar aries-datasource.xml erstellt haben, werden die Enterprise Blueprint Bundles entweder mit direkter JDBC-Anbindung oder über OpenJPA erzeugt:

  • deploy deploy org.apache.aries.samples.blog.jdbc.eba-0.3.eba
  • deploy deploy org.apache.aries.samples.blog.jpa.eba-0.3.eba

Die Bloganwendung kann dann mit http://localhost:8080/blog aufgerufen werden. Nachdem sich ein Autor registriert hat, kann er Beiträge verfassen, wie in Abbildung 5 gezeigt. Zusätzlich zu den OSGi-Bundleinformationen in der META-INF/MANIFEST.MF-Datei gibt es noch für die Blueprint-Anwendung die Dateien META-INF/APPLICATION.MF und OSGI-INF/blueprint/blueprint.xml. Alternativ können Sie auch einzelne OSGi Bundles installieren und über die Konsole starten, nachdem die moneydb-Derby-Datenbank angelegt wurde:

  • deploy install-bundle ear/showmethemney-api-3.0.0.0.jar
  • deploy install-bundle ear/showmethemney-ds-3.0.0.0.jar
  • deploy install-bundle ear/showmethemney-server-3.0.0.0.jar
  • deploy deploy showmethemoney-web-3.0.0.0.war

Diese Anwendung wird über http://localhost:8080/showmoney/ aufgerufen. Noch einfacher geht es mit dem Hotdeployment im Verzeichnis DEPLOY, in dem Sie zum Beispiel die Beispielanwendung webfragment-javaee6-war-3.0-beta-1.war dorthin kopieren und dann mit http://localhost:8080/webfragment-javaee6-war/ aufrufen. Enthält die Webanwendung keinen geronimo-web.xml-Deployment-Plan, so wird er dynamisch erstellt.

Kommentare

Schreibe einen Kommentar

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