8.1.5 JBoss

Auf der JBoss-Homepage1 findet man unter JBoss Applikationsserver / Downloads den Link zu der aktuellsten Versions. Ich benutze die Version 4.0.3SP1 vom 2005-10-24. Entpacken Sie das Archiv in ein Verzeichnis. Ich habe mir ein JBoss-Verzeichnis angelegt, in das ich alle Versionen hinein speichere (also ist /home/daniel/apps/jboss/jboss-4.0.3SP1 das Verzeichnis, in dem das bin-Verzeichnis liegt).

Wenn das JDK korrekt installiert ist, sollte man in der Konsole mit `./run.sh` JBoss fehlerfrei starten können. Im Browser kann man nun http://localhost:8080/ aufrufen und mit CTRL+C beendet man JBoss wieder. Wenn man nichts angibt, wird automatisch der default-Server gestartet (server/default).

Als erstes geben wir dem JBoss die Datenbankverbindung bekannt. Dazu erstellen Sie im Verzeichnis server/default/deploy/postgres-ds.xml. Ein Beispiel liegt im Persistenz-Projekt im Verzeichnis main/src/resources/template/postgres-ds.xml. Wenn die Datei während der JBoss läuft deployed wird, erscheint im Log eine Erfolgsmeldung, dass die Verbindung an JNDI gebunden wurde, von wo sie Hibernate dann später holen kann. Zusätzlich muss natürlich noch der Postgres-JDBC-Treiber in das lib-Verzeichnis kopiert werden. Unter http://jdbc.postgresql.org/download.html laden Sie die die passender JDBC3-Version. Wenn Sie Debian Sarge mit Postgres 7.4 installiert haben also die Datei pg74.216.jdbc3.jar.

Hibernate ist schon im JBoss integriert, so brauchen Sie dafür keine zusätzlichen Bibliotheken herunter zu laden. Jetzt kann das EAR deployed werden und der Client gestartet. Dazu einfach das erzeugte EAR aus dem Server-Projekt in den Deploy-Ordner kopieren. Nun kommen einige Meldungen, die sie genau durchschauen, ob dort Fehler aufgetreten sind. Das wars schon.

Bei der Entwicklung muss man hin und wieder das Datenbank-Schema löschen und neu anlegen. Gehen Sie dazu auf http://localhost:8080/jmx-console und klicken dort den Eintrag service=Hibernate an. Bei Hbm2ddlAuto tragen Sie create-drop ein und klicken dann unter erst auf stop() dann auf start(). Dabei wird das Datenbank-Schema neu erstellt. In der Administration unter http://localhost:8080/plueschwar können Sie dann das Default-Spiel neu erstellen.

Um auf der Konsole auch Debug-Logausgaben zu sehen können Sie die log4j.xml um folgende Einträge erweitern:

<appender name="PLUESCHWAR" class="org.apache.log4j.ConsoleAppender">
    <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
    <param name="Target" value="System.out"/>
    <param name="Threshold" value="DEBUG"/>
    <layout class="org.apache.log4j.PatternLayout">
       <!-- The default pattern: Date Priority [Category] Message\n -->
       <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}:%L] %m%n"/>
    </layout>
</appender>

<category name="de.golesny" additivity="false">
     <priority value="DEBUG"/>
     <appender-ref ref="PLUESCHWAR" />
     <appender-ref ref=?FILE? />
</category>