Enterprise java beans step-by-step 0. Voraussetzungen Der Orion Server ist in C:\Orion installiert! Sollten schon Versuche diese Applikation zum Laufen zu bringen fehlgeschlagen sein, empfehle ich eine frische Orion-Installation! Als Arbeitsverzeichnis wird C:\BEISPIEL verwendet hier werden alle weiteren Dateien wenn nicht anders angegeben hinkopiert/erstellt. 1. Erstellen von Hersteller.jar Zuerst muss man die vier.java-dateinen kompilieren: javac Hersteller.java javac HerstellerPK.java javac HerstellerBean.java javac HerstellerHome.java Häufig wird man dabei jedoch folgende Fehlermeldung erhalten: javac Hersteller.java Hersteller.java:3: package javax.ejb does not exist public interface Hersteller extends javax.ejb.ejbobject ^ 1 error Das Package javax.ejb befindet sich in der Datei ejb.jar, diese wiederum findet sich im Root- Verzeichnis des Orion-Servers (C:\Orion). Daher muss man den Classpath 1 folgendermaßen gesetzt werden: set classpath=c:\orion\ejb.jar;. Wichtig ist der abschliessende Punkt, der bedeutet dass javac auch im aktuellen Verzeichnis nach Klassen sucht! 1 Pfad(e) in denen der javac-compiler nach benötigten Java-Klassen sucht Seite 1/
Anschliessend legt man ein Verzeichnis META-INF (Achtung: Grossschreibung beachten!) an und kopiert die Datei ejb-jar.xml hinein. Das Verzeichnis BEISPIEL sieht dann so aus: C:\BEISPIEL>dir Datenträger in Laufwerk C: ist System Datenträgernummer: E8DF-7513 Verzeichnis von C:\BEISPIEL 07.06.2003 13:52 <DIR>. 07.06.2003 13:52 <DIR>.. 07.06.2003 13:46 294 Hersteller.class 27.05.2003 10:17 223 Hersteller.java 07.06.2003 13:46 1.050 HerstellerBean.class 27.05.2003 10:12 807 HerstellerBean.java 07.06.2003 13:46 356 HerstellerHome.class 27.05.2003 10:56 342 HerstellerHome.java 07.06.2003 13:46 431 HerstellerPK.class 27.05.2003 10:19 319 HerstellerPK.java 27.05.2003 14:39 <DIR> META-INF 8 Datei(en) 3.822 Bytes 3 Verzeichnis(se), 84.180.992 Bytes frei C:\BEISPIEL>cd META-INF C:\BEISPIEL\META-INF>dir Datenträger in Laufwerk C: ist System Datenträgernummer: E8DF-7513 Verzeichnis von C:\BEISPIEL\META-INF 27.05.2003 14:39 <DIR>. 27.05.2003 14:39 <DIR>.. 27.05.2003 11:24 967 ejb-jar.xml 1 Datei(en) 967 Bytes 2 Verzeichnis(se), 84.180.992 Bytes frei C:\BEISPIEL\META-INF> Nun kann man mit folgender Anweisung die Datei Hersteller.jar erstellen: jar cvf Hersteller.jar Hersteller.class HerstellerPK.class HerstellerHome.class HerstellerBean.class META-INF/ejb-jar.xml Das Kommando jar erstellt die jar-datei 2 mit den in einer Liste angegebenen Dateien. 2 jar = java archive, jar-dateien entsprechen im Prinzip zip-dateien Seite 2/
2. Das Verzeichnis Hersteller Nun erstellt man in C:\orion\applications ein Verzeichnis mit dem Namen Hersteller sowie die in der Grafik angegebenen Unterverzeichnisse (Achtung auf Gross-/Kleinschreibung): C:\Orion\applications>md Hersteller C:\Orion\applications>cd Hersteller C:\Orion\applications\Hersteller>md META-INF C:\Orion\applications\Hersteller>md hersteller-webapp C:\Orion\applications\Hersteller>cd hersteller-webapp C:\Orion\applications\Hersteller\hersteller-webapp>md WEB-INF C:\Orion\applications\Hersteller\hersteller-webapp> Anschliessend kopiert man die folgenden Dateien in ihre entsprechenden Verzeichnisse: Hersteller.jar application.xml Test.jsp Web.xml -> nach c:\orion\applications\hersteller -> nach c:\orion\applications\hersteller\meta-inf -> nach c:\orion\applications\hersteller\hersteller-webapp -> nach c:\orion\applications\hersteller\hersteller-webapp\web-inf Seite 3/
3. Konfigurieren des Orion-Servers In die Datei c:\orion\config\server.xml wird folgende Zeile hinzugefügt: <?xml version="1.0"?> <!DOCTYPE application-server PUBLIC "Orion Application Server Config" "http://www.orionserver.com/dtds/application-server.dtd"> <application-server application-directory="../applications" deployment-directory="../application-deployments" > <rmi-config path="./rmi.xml" /> <!-- JMS-server config link, uncomment to activate the JMS service --> <!-- <jms-config path="./jms.xml" /> --> <log> <file path="../log/server.log" /> </log> <global-application name="default" path="application.xml" /> <application name="hersteller" path="../applications/hersteller" autostart="true" /> <global-web-app-config path="global-web-application.xml" /> <web-site path="./default-web-site.xml" /> <!-- Compiler, activate this to specify an alternative compiler such as jikes for EJB/JSP compiling. --> <!-- <compiler executable="jikes" classpath="/myjdkdir/jre/lib/rt.jar" /> --> </application-server> Danach wird in c:\orion\config\default-web-site.xml folgende Zeile hinzugefügt: <?xml version="1.0"?> <!DOCTYPE web-site PUBLIC "Orion Web-site" "http://www.orionserver.com/dtds/website.dtd"> <web-site host="[all]" port="80" display-name="default Orion WebSite"> <!-- The default web-app for this site, bound to the root --> <default-web-app application="default" name="defaultwebapp" /> <web-app application="hersteller" name="hersteller-webapp" root="/hersteller" shared="true" load-on-startup="true" max-inactivity-time="no shutdown" /> <!-- Uncomment this to activate the news app --> <!-- <web-app application="news" name="news-web" root="/news" /> --> <!-- Access Log, where requests are logged to --> <access-log path="../log/default-web-access.log" /> </web-site> Seite 4/
4. Starten des Orion-Servers Nun kann der Orion-Server mittels des Kommandos Java jar orion.jar gestartet werden. Möglicherweise führt dies jedoch zu folgender Fehlermeldung: C:\Orion>java -jar orion.jar Auto-deploying hersteller (Previous deployment not found)... Auto-deploying Hersteller.jar (No previous deployment found)... Error compiling C:\Orion\applications\Hersteller/Hersteller.jar: Error instantiating compiler: Javac not installed, copy tools.jar from your sun JDK dir's lib dir to the orion dir or add a <library path="the/path/to/tools.jar" /> and restart Auto-deploying file:/c:/orion/applications/hersteller/hersteller-webapp/ (Previo us deployment not found)... Orion/2.0.1 initialized Am einfachsten kann dies korrigiert werden indem man die Datei tools.jar aus dem lib- Verzeichnis des Java-SDKs nach c:\orion kopiert. Danach sollte der Orion-Server korrekt gestartet werden können: C:\Orion>java -jar orion.jar Auto-deploying Hersteller.jar (No previous deployment found)... Auto-creating table: create table HerstellerBean (HerstellerID BIGINT not null primary key, HerstellerName VARCHAR(255) null) done. Orion/2.0.1 initialized Nun muss man noch einen Bug des Orion-Servers im Autodeployment ausbessern. Dazu beendet man den Server (STRG-C) und ändert in der Datei c:\orion\applicationdeployments\hersteller\hersteller.jar\orion-ejb-jar.xml das location-attribut: <entity-deployment name="herstellerbean" location="herstellerhome" wrapper="herstellerhome_entityhomewrapper2" table="herstellerbean" datasource="jdbc/hypersonicds"> Danach kann man den Orion-Server neu starten (dabei meldet der Server korrekt dass die Datei orion-ejb-jar.xml sich geändert hat). Seite 5/
Um die Applikation zu testen gibt man im Browser folgende URL an: http://localhost/hersteller/test.jsp Seite 6/