Befehl zum Erstellen von Stubs

Der Befehl createEJBStubs erstellt Stubklassen für ferne Schnittstellen von EJB-Beans (Enterprise JavaBeans), die in JAR-Dateien (Java-Archiven), WAR-Dateien (Webanwendungsarchiven) oder EAR-Dateien (Unternehmensarchiven) gepackt sind. Er bietet auch eine Option zum Erstellen einer einzelnen Stubklasse aus einer Schnittstellenklasse, die sich in einem Verzeichnis oder in einer JAR-Datei befindet. Es werden mehrere Befehlsoptionen bereitgestellt, mit denen die generierten Stubklassen auf unterschiedliche Weise gepackt werden können. Weitere Einzelheiten finden Sie in den Abschnitten zu Syntax und Beispielen.

Dieser Befehl befindet sich im Verzeichnis <WAS_HOME>/bin:
  • createEJBStubs.bat - Windows-Plattformen
  • createEJBStubs.sh - UNIX-basierte Plattform
  • createEjbStubs - iSeries-Plattform

Der Befehl sucht die JAR-, WAR- bzw. EAR-Eingabedatei, indem er EJB-Module sucht, die Beans mit fernen Schnittstellen enthalten. Wenn ferne Schnittstellen gefunden werden, werden die entsprechenden Stubklassen generiert und den angegebenen Befehlsoptionen entsprechend gepackt. Wenn die eine einzelne Schnittstellenklasse angegeben wird, geht das Tool davon aus, dass diese Klasse eine ferne EJB-Schnittstellenklasse ist, und generiert eine ferne Stubklasse.

Für viele clientseitige Szenarios generiert das JIT-Implementierungsfeature (Just-In-Time) von WebSphere Application Server dynamisch die RMI-IIOP-Stubklassen, die erforderlich sind, um ferne EJB 3.x-Geschäftsschnittstellen und ferne Geschäftsschnittstelle vor EJB 3.x in einer Java 7-Anwendung aufzurufen. Es gibt jedoch einige Szenarios, in denen die JIT-Implementierungsumgebung für die dynamische Generierung dieser Klassen nicht verfügbar ist. In diesen Szenarios muss stattdessen der Befehl createEJBStubs verwendet werden, um die clientseitigen Stubklassendateien in Ihrer Clientanwendung zu generieren und zu integrieren. Verwenden Sie den Befehl createEJBStubs, wenn Sie eine der folgenden Clientumgebungen haben:
  • Reine Java SE-Clients (Java™ Standard Edition), in denen eine Java SE-JVM (Java Virtual Machine) die Clientumgebung ist.
  • Container (Web-Container, EJB-Container oder Anwendungsclientcontainer) aus einer früheren Version von WebSphere Application Server als Version 7 oder Container ohne installiertes Feature Pack for EJB 3.0
  • Andere Umgebungen als WebSphere Application Server.

In der JVM, in der der Befehl "createEJBStubs" ausgeführt wird, muss die Systemeigenschaft "java.io.tmpdir" definiert sein. Diese Eigenschaft muss auf ein vorhandenes lesbares und beschreibbares Verzeichnis verweisen.

Der Befehl erstellt nicht nur die Stubs für den Beaninhalt in EAR- und JAR-Dateien, sondern auch Stubs für Beaninhalt in einer WAR-Datei. Wenn eine EAR-Datei ale Eingabedatei angegeben wird und diese EAR-Datei eine WAR-Datei mit fernen Schnittstellen enthält, werden Stubs für diese Schnittstellen generiert.

Stubs werden in der WAR-Datei an derselben Position platziert wie die entsprechende ferne Schnittstelle oder Beanklasse. Wenn die ferne Schnittstelle oder Beanklasse, der die Stubs entsprechen, flexibel in der Verzeichnisstruktur "WEB-INF/classes" platziert werden, wird auch der Stub dort platziert. Wenn die ferne Schnittstelle oder Beanklasse in eine JAR-Datei im Verzeichnis "WEB-INF/lib" gepackt ist, wird der Sub in dieselbe JAR-Datei eingefügt. Wenn ein Stub für eine ferne Schnittstelle generiert wird, die nicht in der WAR-Datei gepackt ist, wird er flexibel in der Verzeichnisstruktur "WEB-INF/classes" platziert.

Eine Clientkomponente verwendet diese Stubs, um mit den EJB-Komponenten zu kommunizieren, die im Server ausgeführt werden. Die Clientkomponente muss Stubinstanzen verwenden, die mit dem richtigen Tool erstellt wurden.

Syntax

createEJBStubsName_der_Eingabeklasse | Name_der_Eingabe-JAR-Datei | Name_der_Eingabe-WAR-Datei | Name_der_Eingabe-EAR-Datei [-help] [-newfile[neue_Datei]] [-updatefile[Aktualisierungsdatei]] [-quiet] [-verbose] [-logfile Protokolldatei] [-appendlog] [-cp Klassenpfad] [-trace]
createEJBStubs
Dieser Befehl erstellt EJB-Stubklassen für eine einzige Schnittstellenklassendatei, eine JAR-Datei, eine WAR-Datei oder eine EAR-Datei. Wenn dieser Befehl ohne Argumente oder nur mit der Option "–help" aufgerufen wird, zeigt der Befehl "createEJBStubs" eine Liste mit Optionen an, die angegeben werden können, und eine Liste mit Beispielaufrufen mit detaillierte Erläuterungen.
Name_der_Eingabeklasse oder Name_der_EAR-Datei oder Name_der_Eingabe-JAR-Datei oder Name_der_Eingabe-WAR-Datei

Der erste Parameter ist ein erforderliches Element für den Befehl. Er muss die Quellenklasse, JAR-, WAR- oder EAR-Datei enthalten, die verarbeitet werden soll.

Dieser Parameter kann der vollständig qualifizierte Name einer einzelnen Schnittstellenklasse sein (z. B. com.ibm.myRemoteInterface). Beachten Sie, dass die einzelnen Segmente des Paketnamens durch einen Punkt (".") voneinander getrennt sind, dass dem Pfadnamen kein Klassenname vorangestellt und die Erweiterung ".class" nicht angegeben ist. Für die Schnittstellenklasseneingabe müssen Sie die Klassenpfadoption (z. B. "–cp my_path" oder "–cp my_path/my_interfaces.jar") verwenden, um anzugeben, wo die Schnittstellenklasse zu finden ist. Die generierte Stubklasse wird in die vom Paket definierte Verzeichnisstruktur kopiert, ausgehend vom aktuellen Verzeichnis, in dem der Befehl aufgerufen wird.

Dieser Parameter kann auch eine JAR-, WAR- oder EAR-Datei sein. In diesem Fall muss der Pfad angegeben werden (z. B. my_path/my_Server_App.ear). Die generierten Stubklassen werden in dieselben Module wie die Beans bzw. in dieselben Module wie die fernen Schnittstellenklassen kopiert, je nachdem, ob die Option "–updatefile" angegeben ist. Weitere Einzelheiten hierzu finden Sie in den folgenden Abschnitten.

-help
Zeigt die Befehlssyntax an, einschließlich einer Liste mit Optionen, die angegeben werden können, und Beispielaufrufen mit detaillierten Erläuterungen.
-newfile [neue_Datei]
Fordert an, dass eine neue Datei, die die ursprünglichen Dateien in der JAR-, WAR- bzw. EAR-Eingabedatei und die Stubklassen enthält, generiert wird. Wenn diese Option nicht angegeben wird, werden die Stubs in die ursprüngliche JAR-, WAR- bzw. EAR-Datei zurückgeschrieben. Wenn die Option zwar angegeben, aber kein neuer Dateiname angegeben wird, wird ein neuer Dateiname erstellt, indem an den Namen der JAR-, WAR- bzw. EAR-Datei "_withStubs" angehängt wird. Diese Option ist nicht zulässig, wenn der erste Eingabeparameter eine Schnittstellenklasse ist.
-updatefile [Aktualisierungsdatei]
Fordert an, dass eine zweite Datei (d. h. eine Datei zusätzlich zur Eingabedatei) mit Stubklassen aktualisiert wird. Diese Option legt auch ein anderes Packverhalten fest. Die Stubklassen werden in dieselben Module wie die fernen Schnittstellenklassen gepackt. Wenn diese Option nicht angegeben wird, werden die Stubklassen in dieselben Module wie die Bean-Klassen gepackt. Wenn diese Option zwar angegeben, aber keine Aktualisierungsdatei angegeben wird, wird nur die ursprüngliche JAR-, WAR- bzw. EAR-Datei mit Stubklassen aktualisiert. Diese Option ist nicht zulässig, wenn der erste Eingabeparameter eine Schnittstellenklasse ist.
-quiet
Fordert an, dass Nachrichten unterdrückt werden. Die Option "-quiet" kann nicht zusammen mit den Optionen "-verbose" und "-trace" angegeben werden. Fehlernachrichten werden weiterhin angezeigt.
-verbose
Mit diesem Argument wird die Ausgabe zusätzlicher Informationsnachrichten angefordert. Die Option "-verbose" kann nicht zusammen mit den Optionen "-quiet" und "-trace" angegeben werden.
-logfile Protokolldatei
Mit diesem Argument wird angefordert, dass Nachrichten nicht nur in der Konsole, sondern auch in einer Protokolldatei ausgegeben werden. Wenn diese Option angegeben wird, muss auch der Name einer Protokolldatei angegeben werden.
-appendlog
Fordert an, dass Nachrichten an eine vorhandene Protokolldatei angefügt werden. Bei Auswahl dieser Option muss auch die Option "-logfile" angegeben werden.
-cp Klassenpfad
Fordert an, dass das Klassenladeprogramm den angegebenen Klassenpfad einschließt, in dem sich weitere Klassen- oder JAR-Dateien befinden, die erforderlich sind, damit die fernen Schnittstellenklassen geladen werden. Der Klassenpfad kann mehrere Segmente enthalten. Die einzelnen Pfade müssen mit dem Standardpfadtrennzeichen des Betriebssystems voneinander getrennt werden. Jeder Pfad kann eine JAR-Datei oder ein Verzeichnis angeben. Wenn diese Option angegeben wird, muss auch der Klassenpfad angegeben werden.
-trace
Fordert die Generierung einer detaillierten Traceausgabe an. Diese Option ist für die Erfassung von Informationen bestimmt, die der IBM Service für die Behebung von Problemen benötigt. Die Traceausgabe ist nur in englischer Sprache verfügbar. Dies Option kann nicht zusammen mit den Optionen "-quiet" und "-verbose" angegeben werden.

Beispiele

createEJBStubs com.ibm.myRemoteInterface -cp my_path

Generiert die Stubklassen für eine einzige ferne Schnittstellenklasse und kopiert sie in die vom Paket definierte Verzeichnisstruktur, ausgehend vom aktuellen Verzeichnis. Das Verzeichnis "my_path" wird als Klassenpfad verwendet. Wenn die zu verarbeitende ferne Schnittstellenklasse eine JAR-Datei ist, muss die Syntax "–cp my_path/my_interfaces.jar" für die Angabe des Klassenpfads verwendet werden.

createEJBStubs my_path/my_beans.jar -newfile –quiet

Generiert die Stubklassen für alle Enterprise-Beans in der Datei "my_beans.jar", die ferne Schnittstellen haben. Die generierten Stubklassen und der Inhalt der ursprünglichen JAR-Datei werden in eine neue JAR-Datei mit dem Namen "my_beans_withStubs.jar" gepackt, weil mit der Option "–newfile" der optionale Namensparameter "neue_Datei" nicht angegeben wurde. Die Ausgabenachrichten werden mit Ausnahme von Fehlerbenachrichtigungen alle unterdrückt.

createEJBStubs my_path/my_Server_App.ear -logfile myLog.out

Generiert die Stubklassen für alle Enterprise-Beans in der Datei "my_Server_App.ear", die ferne Schnittstellen haben. Die generierten Stubklassen werden in die ursprüngliche EAR-Datei gepackt, weil die Option "–newfile" nicht angegeben wurde. Die Stubklassen werden in dieselben Module wie die Bean-Klassen gepackt, weil die Option "–updatefile" nicht angegeben wurde. Nachrichten werden in die Protokolldatei "myLog.out" und in das Befehlsfenster geschrieben.

createEJBStubs my_path/my_Server_App.ear -updatefile my_path/my_Client_interfaces.jar

Generiert die Stubklassen für alle Enterprise-Beans in der Datei "my_Server_App.ear", die ferne Schnittstellen haben. Die generierten Stubklassen werden in die ursprüngliche EAR-Datei und in die Datei "my_Client_interfaces.jar" gepackt. Die Stubklassen werden in dieselben Module wie die fernen Schnittstellenklassen gepackt, weil die Option "–updatefile" angegeben wurde.

createEJBStubs my_path/my_Server_App.ear –updatefile

Generiert die Stubklassen für alle Enterprise-Beans in der Datei "my_Server_App.ear", die ferne Schnittstellen haben. Die generierten Stubklassen werden nur in die ursprüngliche EAR-Datei gepackt, weil der optionale Parameter "update_file" nicht mit der Option "–updatefile" angegeben wurde. Die Stubklassen werden in dieselben Module wie die fernen Schnittstellenklassen gepackt, weil die Option "-updatefile" angegeben wurde.

createEJBStubs my_path/my_beans.war

Generiert die Stubklassen für alle Beans, die in der WAR-Datei enthalten sind und ferne Schnittstellen haben. Die Klasse "Bean1" ist flexibel in der Verzeichnisstruktur "WEB-INF/classes" gepackt, und deshalb wird auch der entsprechende Stub dort platziert. Die Klasse "Bean2" ist in der Datei "myEJB.jar" im Verzeichnis "WEB-INF/lib" gepackt, und deshalb wird der entsprechende Stub in diese JAR-Datei eingefügt.

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_3stubscmd2
Dateiname:rejb_3stubscmd2.html