> Inhalt: Einführung in das Programmieren mit Java > Inhalt: Einführung in das Programmieren von Enterprise Java Beans |
|
Letzte
Bearbeitung dieses Dokuments: |
Dieses Tutorial ist nur mehr sinnvoll, wenn Sie Kenntnisse für EJBs vor dem EJB3-Standard erwerben wollen. Mit
der Einführung des Standards EJB3 wird der Aufbau der
Verbindung in Heavyweight- (Fat-) Clients zu EJBs vereinfacht. Die
Kenntnisse in diesem Tutorial. sind nur dann notwendig, wenn Sie
Client-Programme adaptieren oder neu schreiben müssen und
Ihnen noch keine Java-Version ab 1.5 (auch als Java 5 bezeichnet)
zur Verfügung steht. |
Voraussetzungen für das Verständnis dieses Dokuments:Grundkenntnisse in der Programmierung von Java (Klassen, Methoden, Schleifen) oder anderer Objekt-Orientierter Programmiersprachen (z.B. C++, Modula-2, Pascal). Kenntnisse im Umgang mit Eclipse; empfohlen ist das Durcharbeiten der Einführungsbeispiele für das Programmieren mit Java. |
Ungefährer Zeitbedarf zum Durcharbeiten dieses Dokuments:Arbeitszeit:
|
Diesem Dokument enthält die Anleitung für die Programmierung eines einfachen Client-Programms das die Methode des in den Dokumenten beginnend mit Tutorial: Einfache Session Bean (Java_EJB_01) – Einrichten des Projects entwickelten EJB (Enterprise Java Bean) benutzt.
Vorbemerkung
Vorbedingungen
Project
eröffnen und einrichten
*
Project eröffnen
*
Verzeichnisse für Quell-Code und kompilierte Java-Klassen
festlegen
*
Standard-Source-Verzeichnis prüfen und bei Bedarf korrigieren
*
Einbindung der Libraries (Programm-Bibliotheken) in den Java Build
Path
Java-Klasse
anlegen
Eingabe des
Länder-Codes abfragen
Vorbereiten
der Verbindungsdaten zum JAS codieren
Verbindung
zum 'Bean' und Ausführen der Methode codieren
Kompletter
Code ohne Test-Ausgaben
Weitere
Schritte und verwandte Dokumentation
Eine
exzellente Einführung war der JBoss-IDE
1.3.0 Tutorial Guide von Hans Dockter und Laurent
Etiemble.
Beispiele, die über das Tutorial in diesem Dokument
hinausgehen, schrieb Mirza Jahic in Working
with JBoss and Eclipse.
Obwohl
Eclipse in 'deutscher Version' installiert werden kann, sind
die Abbildungen in diesem Dokument mit der 'english Version'
erstellt. |
Viele
der in diesem Tutorial auszuführenden Abschnitte (z.B. Eröffnen
des Project) sind gleich oder sehr ähnlich zu Abschnitten, die
bereits im Tutorial für die Entwicklung der Einfachen Session
Bean beschrieben wurden.
Um diese – bei jedem Project
wiederkehrenden - Tätigkeiten zu üben, wird in diesem
Tutorial nicht immer jede Tätigkeit im Detail beschrieben und
eine Abbildung gezeigt.
Statt dessen wird auf die entsprechende
Beschreibung in einem Tutorial, das als Vorbedingung durchzuarbeiten
war, verwiesen.
Session Bean entwickelt und wie in Einfache Session Bean - Packen der Dateien in Java-Archive (JAR) und 'deploy' > JAR-Datei an den JAS übergeben ('deploy') beschrieben an einen JAS (Java Application Server) übergeben.
JAR-Datei mit den Schnittstellen für die Client-Programme (wie in Einfache Session Bean - Packen der Dateien in Java-Archive (JAR) und 'deploy' > JAR-Datei für Client-Programme erstellen beschrieben) vorhanden.
Und natürlich alle Vorbedingungen für die beiden oberen Vorbedingungen ;-) .
Kriterien
für das Gruppieren von Projects in einen Workspace wurden in
Tutorial:
Hello World (Java_Intro_01)
>
Eclipse
Workspace und Project eröffnen
diskutiert.
Dort
ist auch eine Beschreibung mit Screenshots enthalten wie ein
Workspace eingerichtet wird – diese Anleitung wird in diesem
Dokument nicht mehr wiederholt.
Project
eröffnen
Um ein neues Project zu beginnen wird >File>New>Project ausgewählt. Im anschließenden Fenster (New Project) wird Java Project ausgewählt und durch Klicken der Schaltfläche [ Next > ] fortgesetzt. |
|
Im Fenster (New Java Project) wird
Durch Anklicken der Schaltfläche [Next > ] wird das nächste Fenster mit weiteren Einstellungsmöglichkeiten aufgerufen. |
Für Details und Abbildungen sehen Sie bitte im Dokument Einfache Session Bean – Einrichten des Projects nach. |
Verzeichnisse
für Quell-Code und kompilierte Java-Klassen festlegen
Im geänderten Fenster (New Java Project) wird
|
Für Details und Abbildungen sehen Sie bitte im Dokument Einfache Session Bean – Verzeichnisse für Quell-Code und kompilierte Java-Klassen festlegen nach. |
Im erscheinenden Fenster (New Source Folder) wird
Durch anklicken der Schaltfläche [ Finish ] wird das neue Verzeichnis erstellt und das Fenster geschlossen. Es wird auch noch
eine Schaltfläche [ Next > ] als aktiv
angezeigt. |
|
Im noch immer offenen Fenster (New Java Project) werden jetzt die neu erstellten Verzeichnisse angezeigt. Durch anklicken der Schaltfläche [ Finish ] wird das neue Project erstellt und das Fenster geschlossen. |
|
Standard-Source-Verzeichnis
prüfen und bei Bedarf korrigieren
Die
Meldung im vorigen Absatz ließe darauf schließen, daß
das Standard-Source-Verzeichnis (
Java_EJB_02/src
)
als Source-Verzeichnis gelöscht ist.
Bei meiner neuesten
installierten Version von Eclipse (Version: 3.3.1.1., Build id:
M20071023-1652) ist das wider Erwarten nicht der Fall.
Aus
diesem Grund ist die folgende Beschreibung vorhanden.
Überprüfen
Sie bitte die Definition der Source-Verzeichnisse bei Ihrer
Installation und wenn der beschriebene 'Fehler' auch bei Ihnen
aufgetreten ist, führen Sie die beschriebene Korrektur durch.
|
|
|
|
Anschließend wird im Fenster nur mehr das gewünschte Verzeichnis angezeigt. Durch Anklicken der Schaltfläche [ OK ] wird die neue Einstellung gesichert und das Fenster geschlossen. |
|
Einbindung
der Libraries (Programm-Bibliotheken) in den Java Build Path
In
diesem Project wird der Code (Klassen) in Programmteilen, die nicht
innerhalb des Projects oder der Eclipse-Workspace vorhanden sind,
eingebunden.
Eine
detaillierte Anleitung, welche Arten von Bibliotheken wie eingebunden
werden ist unter
Einfache
Session Bean – Einbindung der Libraries (Programm Bibliotheken)
in den Java Build Path beschrieben.
|
|
|
|
|
|
In
diesem Abschnitt wird die Klasse für das Client-Programm Zug um
Zug codiert und zwischenzeitlich wird getestet um Fehler frühzeitig
erkennen zu können.
Um eine neues Java-Klasse zu eröffnen wird mit der rechten Maustaste das Project (Java_EJB_02) angeklickt und aus dem Kontext-Menu >New>Class ausgewählt. |
|
Im darauf hin erscheinenden Fenster (New Java Class / Ohne Abbildung) wird
Die anderen bereits vorgegebenen Werte werden nicht verändert. Durch Anklicken der Schaltfläche [ Finish ] wird die Datei für den Quell-Code der Klasse angelegt. |
|
In
den nächsten Abschnitten wird der Programm-Code Schritt für
Schritt entwickelt und nach jedem Schritt wird getestet, ob die
Verbindung zum JAS und der Aufruf der Methode des EJB wie erwartet
funktioniert.
Dieser
Teil des Codes hat noch keinen Bezug zur Programmierung mit EJB.
Hier wird nur in einer Schleife auf die Eingabe des Länder-Codes
gewartet.
Code
in Normal-Schrift wurde beim Anlegen der Klasse generiert; Code in
Fettschrift ist der individuell erstellte Code.
package
js_ejb02.client;
/*
*
Package mit den Länder-Codes und -Langnamen. */import
js_ejb01.staticvalues.CountryConstants;
/*
*
Package mit verschiedenen Methoden für Ein- und Ausgabe.
*/import
java.io.*;
public
class
ShowTimeDateClient
{
public
ShowTimeDateClient()
{
//
TODO Auto-generated method stub
super
();
}
/**
*
@param args
*/
public
static void main
(String[]
args) {
//
TODO Auto-generated method stub
/*
*
Anzahl der Länder-Codes im Array;
* Index für
das Ansprechen der Länder-Codes und Langnamen im Array.
*/
int
CountryArraySize
= CountryConstants.
Country
.
length
;
int
CountryArrayIndex
= 0;
/*
* Bauen
des Strings mit der Konsol-Ausgabe
* (Erklärung
was als Konsol-Eingabe erwartet wird). */
String
strKonsolErklaerung = "Bitte
geben Sie den möglichen Länder-Code ["
;
for
(CountryArrayIndex
= 0; CountryArrayIndex < CountryArraySize; CountryArrayIndex++)
{
strKonsolErklaerung
+=
CountryConstants.Country
[CountryArrayIndex][0].trim().toUpperCase();
if
(CountryArrayIndex
< (CountryArraySize - 1)) strKonsolErklaerung +=
",
"
;
}
strKonsolErklaerung
+= "]
ein oder lassen sie das Feld leer um das Programm zu beenden:
"
;
/*
* Variablen
für die Eingabe auf der Konsole. */
String
strKonsolAntwort = ""
;
byte
byteKonsolBuffer[]
=
new
byte
[80];
int
intKonsolBufferLaenge;
/*
* Schleife
für das Abfragen der Eingabe auf der Konsole und Aufrufen des
EJB. */
for
(;;)
{
/*
* Anzeigen
der Erklärung auf der Konsole.
*/
System.out
.print(strKonsolErklaerung);
/* */
try
{
/*
* Antwort
(Eingabe auf der Konsole) einlesen.
*/
intKonsolBufferLaenge
= System.in
.read(byteKonsolBuffer,
0, 80);
strKonsolAntwort
= new
String(byteKonsolBuffer,
0, intKonsolBufferLaenge);
/*
* Umwandeln
in Grossbuchstaben und führende und nachfolgende Leerzeichen
entfernen. */
strKonsolAntwort
=
strKonsolAntwort.toUpperCase().trim();
}
catch
(IOException
e) {
/* Unerwarteter
Fehler bei der Konsol-Eingabe; Fehlermeldung auf die Konsole
ausgeben.
*/
e.printStackTrace();
}/*
* Prüfen
ob 'leere' Antwort und in diesem Fall Programm beenden.
*/
if
(strKonsolAntwort.length()
<= 0) {
System.out
.println(
"Programm
beendet"
);
System.exit(0);
}/*
* Eingabe
als Rückmeldung wieder ausgeben.
*/
System.out
.println(
"Eingegeben:
"
+
strKonsolAntwort);
}
}
}
Dieser
Teil des Codes kann jetzt getestet werden.
Aus dem Eclipse-Menu wird Run>Run ausgewählt. |
|
Im Bereich 'Console' erscheint anschließend der Text mit der Aufforderung zur Eingabe. Klicken Sie mit der Maus in diesen Bereich, damit Sie dort Text eingeben können ! Nach Eingabe von Text und Betätigen der Eingabe-Taste wird der eingegebene Text wieder ausgegeben bzw. bei der Eingabe von Leerzeichen das Programm beendet. |
|
Mögliche
Fehler:
Abgesehen
von Tippfehlern kann die importierte Interface
js_ejb01.staticvalues.CountryConstants
nicht
vorhanden sein.
Prüfen Sie bitte, ob im Abschnitt Einbindung
der Libraries (Programm-Bibliotheken) in den Java Build Path
die
Datei 'Java_EJB_01-client.jar' aufgenommen wurde.
In
diesem Abschnitt wird der Code, der die 'Namen', die als Parameter
für die Verbindung zum JAS benötigt werden, vorbereitet
erstellt.
Mit
diesem Abschnitt wird geprüft, ob die externen JAR-Dateien mit
Bibliotheken korrekt im 'Java Build Path' definiert sind.
package
js_ejb02.client;
/*
......
......import
java.io.*;
/*
*
Package mit verschiedenen Methoden für 'Hilfsdienste'. */import
java.util.*;
/*
*
Package mit Methoden für die Namensbezeichnung von JAS und EJB.
*/import
javax.naming.*;
public
class
ShowTimeDateClient
{
......
....../*
* Eingabe
als Rückmeldung wieder ausgeben.
*/
System.out
.println(
"Eingegeben:
"
+
strKonsolAntwort);
/*
* Beginn
des Codes für das Nutzen der Methoden des EJB.
*/
try
{
/*
* Hashtable
mit den Parametern zur Identifikation des JAS füllen.
*/
Hashtable
JASContextProperties = new
Hashtable();
/*
* Protokoll
und TCP/IP-Adresse des JAS festlegen.
* Annahme: JAS
läuft auf dem selben Computer wie dieses Übungsbeispiel.
*/
JASContextProperties.put(InitialContext.PROVIDER_URL
,
"jnp://127.0.0.1:1099"
);
/*
* Klasse
für die Kommunikation mit dem JAS festlegen;
* Damit
könnten spezielle Verschlüsselungsmethoden verwendet
werden.
* Für dieses Beispiel wird das
Standard-Protokoll genommen.
* Dieses wurde mit der
Datei 'jbossall-client.jar' über den 'Java Build Path'
eingebunden.
*/
JASContextProperties.put(InitialContext.INITIAL_CONTEXT_FACTORY
,
"org.jnp.interfaces.NamingContextFactory"
);
/*
* Initial
Context für den Zugriff auf den JAS erstellen.
*/
InitialContext
initialContext = new
InitialContext(JASContextProperties);
/*
* Rückmeldung,
daß der 'InitialContext' aufgebaut wurde.
*/
System.out
.println(
"'InitialContext'
erstellt."
);
}
catch
(NamingException
e) {
/* Unerwarteter
Fehler beim Erstellen des InitialContext; Fehlermeldung auf die
Konsole ausgeben.
*/
System.out
.println(
"NamingException"
);
e.printStackTrace();
}
}
}
}
Dieser
Teil des Codes kann jetzt getestet werden.
Aus
dem Eclipse-Menu wird
Run>Run
ausgewählt.
Im Bereich 'Console' erscheint anschließend der Text mit der Aufforderung zur Eingabe. Klicken Sie mit der Maus in diesen Bereich, damit Sie dort Text eingeben können ! Nach
Eingabe von Text und Betätigen der Eingabe-Taste wird der
eingegebene Text wieder ausgegeben bzw. bei der Eingabe von
Leerzeichen das Programm beendet. |
|
Mögliche
Fehler:
Wenn
für die Typen InitialContext
oder
NamingException
kein
Java-'package' gefunden wird oder während des Ausführens
des Programms eine dynamisch eingebundene Klasse nicht gefunden wird,
prüfen Sie bitte, ob im Abschnitt
Einbindung
der Libraries (Programm-Bibliotheken) in den Java Build Path
die
Datei 'jbossall-client.jar' aufgenommen wurde.
In
diesem Abschnitt wird der Code, der die Verbindung zum JAS aufbaut,
das Enterprise-Java-Bean (EJB) 'konstruiert' und die gewünschte
Methode des EJB ausführt, entwickelt.
Bemerkung:
Damit
der Code getestet werden kann, muß das EJB an den JAS übergeben
('deployed') sein.
Um nicht durch Firewalls oder andere
Sicherheitsmechanismen behindert zu werden – und damit unnötige
Zeit in Fehlersuche zu investieren – wird empfohlen, den JAS
(z.B. JBoss) auf dem gleichen Computer laufen zu lassen wie das
entwickelte Programm.
Die TCP/IP-Adresse im folgenden
Beispiel-Code (127.0.0.1) bezieht sich auf den lokalen Computer.
package
js_ejb02.client;
/*
*
Package mit den Länder-Codes und -Langnamen. */import
js_ejb01.staticvalues.CountryConstants;
/*
*
Package mit den Schnittstellen-Definitionen zum EJB. */import
js_ejb01.ejb.interfaces.*;
/*
*
Package mit verschiedenen Methoden für Ein- und Ausgabe.
*/
......
......
*
Package mit Methoden für die Namensbezeichnung von JAS und EJB.
*/
import
javax.naming.*;
/*
*
Packages mit den Ausnahmezuständen (Exceptions),
* die
bei der Verbindung zum EJB auftreten können. */import
java.rmi.RemoteException;
import
javax.ejb.CreateException;
public
class
ShowTimeDateClient
{
......
....../*
* Rückmeldung,
daß der 'InitialContext' aufgebaut wurde.
*/
System.out
.println(
"'InitialContext'
erstellt."
);
/*
* Construction
der Klasse, die Schnittstelle zum EJB ist.
*/
ShowTimeDateHome
ShowTimeDateBeanHome;
ShowTimeDateBeanHome
=
(ShowTimeDateHome)
initialContext.lookup(ShowTimeDateHome.JNDI_NAME
);
/* Rückmeldung,
daß der Code bis hierher ausgeführt wurde.
*/
System.out
.println(
"'ShowTimeDateBeanHome'
konstruiert."
);
/*
* Construction
des EJB; dieses läuft auf dem JAS.
*/
ShowTimeDate
ShowTimeDateBeanInstance =
ShowTimeDateBeanHome.create();/* Rückmeldung,
daß der Code bis hierher ausgeführt wurde.
*/
System.out
.println(
"'ShowTimeDateBeanInstance'
auf dem JAS konstruiert."
);
/*
* Ausführen
der Methode und Ausgabe des Ergebnisses auf der Konsole.
*/
String[]
result =
ShowTimeDateBeanInstance.getTimeDateString(strKonsolAntwort);
System.out
.println(
"Result[0]:
"
+
result[0]);
System.out
.println(
"Result[1]:
"
+
result[1]);
}
catch
(NamingException
e) {
/* Unerwarteter
Fehler beim Erstellen des InitialContext; Fehlermeldung auf die
Konsole ausgeben.
*/
System.out
.println(
"NamingException"
);
e.printStackTrace();
}
catch
(RemoteException
e) {
/* Unerwarteter
Fehler beim Verbinden zum JAS; Fehlermeldung auf die Konsole
ausgeben.
*/
System.out
.println(
"RemoteException"
);
e.printStackTrace();
}
catch
(CreateException
e) {
/* Unerwarteter
Fehler beim Erstellen des EJB im JAS; Fehlermeldung auf die Konsole
ausgeben.
*/
System.out
.println(
"CreateException"
);
e.printStackTrace();
}
}
}
}
Der
gesamte Code für das Client-Programm kann jetzt durch Auswahl
von
Run>Run
ausgeführt
werden.
Im Bereich 'Console' erscheint anschließend der Text mit der Aufforderung zur Eingabe. Klicken Sie mit der Maus in diesen Bereich, damit Sie dort Text eingeben können ! Nach
Eingabe von Text und Betätigen der Eingabe-Taste wird der
eingegebene Text wieder ausgegeben bzw. bei der Eingabe von
Leerzeichen das Programm beendet. |
|
Mögliche
Fehler:
Der
Java-Application-Server läuft nicht oder es ist durch eine
Sicherheitseinrichtung nicht möglich, Verbindung mit dem JAS
aufzunehmen.
Bitte sehen Sie im Dokument JBOSS nach, wie Sie die
Web-Interface aufrufen (zur Kontrolle, ob JBoss überhaupt läuft)
und wie Sie die Sicherheitseinstellungen ändern können.
package
js_ejb02.client;
/*
*
Package mit den Länder-Codes und -Langnamen. */import
js_ejb01.staticvalues.CountryConstants;
/*
*
Package mit den Schnittstellen-Definitionen zum EJB. */import
js_ejb01.ejb.interfaces.*;
/*
*
Package mit verschiedenen Methoden für Ein- und Ausgabe.
*/import
java.io.*;
/*
*
Package mit verschiedenen Methoden für 'Hilfsdienste'. */import
java.util.*;
/*
*
Package mit Methoden für die Namensbezeichnung von JAS und EJB.
*/import
javax.naming.*;
/*
*
Packages mit den Ausnahmezuständen (Exceptions),
* die
bei der Verbindung zum EJB auftreten können. */import
java.rmi.RemoteException;
import
javax.ejb.CreateException;
public
class
ShowTimeDateClient
{
public
ShowTimeDateClient()
{
//
TODO Auto-generated method stub
super
();
}
/**
*
@param args
*/
public
static void main
(String[]
args) {
//
TODO Auto-generated method stub
/*
*
Anzahl der Länder-Codes im Array;
* Index für
das Ansprechen der Länder-Codes und Langnamen im Array.
*/
int
CountryArraySize
= CountryConstants.
Country
.
length
;
int
CountryArrayIndex
= 0;
/*
* Bauen
des Strings mit der Konsol-Ausgabe
* (Erklärung
was als Konsol-Eingabe erwartet wird). */
String
strKonsolErklaerung = "Bitte
geben Sie den möglichen Länder-Code ["
;
for
(CountryArrayIndex
= 0; CountryArrayIndex < CountryArraySize; CountryArrayIndex++)
{
strKonsolErklaerung
+=
CountryConstants.Country
[CountryArrayIndex][0].trim().toUpperCase();
if
(CountryArrayIndex
< (CountryArraySize - 1)) strKonsolErklaerung +=
",
"
;
}
strKonsolErklaerung
+= "]
ein oder lassen sie das Feld leer um das Programm zu beenden:
"
;
/*
* Variablen
für die Eingabe auf der Konsole. */
String
strKonsolAntwort = ""
;
byte
byteKonsolBuffer[]
=
new
byte
[80];
int
intKonsolBufferLaenge;
/*
* Schleife
für das Abfragen der Eingabe auf der Konsole und Aufrufen des
EJB. */
for
(;;)
{
/*
* Anzeigen
der Erklärung auf der Konsole.
*/
System.out
.print(strKonsolErklaerung);
/* */
try
{
/*
* Antwort
(Eingabe auf der Konsole) einlesen.
*/
intKonsolBufferLaenge
= System.in
.read(byteKonsolBuffer,
0, 80);
strKonsolAntwort
= new
String(byteKonsolBuffer,
0, intKonsolBufferLaenge);
/*
* Umwandeln
in Grossbuchstaben und führende und nachfolgende Leerzeichen
entfernen. */
strKonsolAntwort
=
strKonsolAntwort.toUpperCase().trim();
}
catch
(IOException
e) {
/* Unerwarteter
Fehler bei der Konsol-Eingabe; Fehlermeldung auf die Konsole
ausgeben.
*/
e.printStackTrace();
}/*
* Prüfen
ob 'leere' Antwort und in diesem Fall Programm beenden.
*/
if
(strKonsolAntwort.length()
<= 0) {
System.out
.println(
"Programm
beendet"
);
System.exit(0);
}/*
* Eingabe
als Rückmeldung wieder ausgeben.
*/
System.out
.println(
"Eingegeben:
"
+
strKonsolAntwort);
/*
* Beginn
des Codes für das Nutzen der Methoden des EJB.
*/
try
{
/*
* Hashtable
mit den Parametern zur Identifikation des JAS füllen.
*/
Hashtable
JASContextProperties = new
Hashtable();
/*
* Protokoll
und TCP/IP-Adresse des JAS festlegen.
* Annahme: JAS
läuft auf dem selben Computer wie dieses Übungsbeispiel.
*/
JASContextProperties.put(InitialContext.PROVIDER_URL
,
"jnp://127.0.0.1:1099"
);
/*
* Klasse
für die Kommunikation mit dem JAS festlegen;
* Damit
könnten spezielle Verschlüsselungsmethoden verwendet
werden.
* Für dieses Beispiel wird das
Standard-Protokoll genommen.
* Dieses wurde mit der
Datei 'jbossall-client.jar' über den 'Java Build Path'
eingebunden.
*/
JASContextProperties.put(InitialContext.INITIAL_CONTEXT_FACTORY
,
"org.jnp.interfaces.NamingContextFactory"
);
/*
* Initial
Context für den Zugriff auf den JAS erstellen.
*/
InitialContext
initialContext = new
InitialContext(JASContextProperties);
/*
* Construction
der Klasse, die Schnittstelle zum EJB ist.
*/
ShowTimeDateHome
ShowTimeDateBeanHome;
ShowTimeDateBeanHome
=
(ShowTimeDateHome)
initialContext.lookup(ShowTimeDateHome.JNDI_NAME
);
/*
* Construction
des EJB; dieses läuft auf dem JAS.
*/
ShowTimeDate
ShowTimeDateBeanInstance =
ShowTimeDateBeanHome.create();/*
* Ausführen
der Methode und Ausgabe des Ergebnisses auf der Konsole.
*/
String[]
result =
ShowTimeDateBeanInstance.getTimeDateString(strKonsolAntwort);
System.out
.println(
"Result[0]:
"
+
result[0]);
System.out
.println(
"Result[1]:
"
+
result[1]);
}
catch
(NamingException
e) {
/* Unerwarteter
Fehler beim Erstellen des InitialContext; Fehlermeldung auf die
Konsole ausgeben.
*/
System.out
.println(
"NamingException"
);
e.printStackTrace();
}
catch
(RemoteException
e) {
/* Unerwarteter
Fehler beim Verbinden zum JAS; Fehlermeldung auf die Konsole
ausgeben.
*/
System.out
.println(
"RemoteException"
);
e.printStackTrace();
}
catch
(CreateException
e) {
/* Unerwarteter
Fehler beim Erstellen des EJB im JAS; Fehlermeldung auf die Konsole
ausgeben.
*/
System.out
.println(
"CreateException"
);
e.printStackTrace();
}
}
}
}
Dokument |
Inhalt |
Tutorial: Session Bean mit Datenbak-Zugriff (Java_EJB_03) – einrichten des Projects |
In diesem Tutorial wird beschrieben, wie ein Datenbank-Zugriff innerhalb eines EJB programmiert wird. |
In
diesem Tutorial wird die Auswahl des Länder-Codes und die
Anzeige der sprachabhängigen Datums- und Zeit-Anzeige mit
einem Web-Browser durchgeführt. |