Befehl "wsenhancer"

Das Tool für Entitätserweiterungen für JPA-Anwendungen (Java™ Persistence API) fügt Bytecode in eine Entitätsklassendatei ein, der dem JAP-Provider die Verwaltung des Status einer Entität ermöglicht. Mit diesem Befehlszeilentool können Sie Entitäten unter dem JPA 2.0-Spezifikationsprovider (Java™ Persistence API) WSJPA/OpenJPA für WebSphere Application Server abrufen.

JPA mit dem Anwendungsserver erfordert, dass alle Entitätsklassen erweitert sind, wenn Sie ihren Status verwalten möchten. In einer containergesteuerten Umgebung wird die automatisierte Erweiterung von den Containern unterstützt. In einer Java SE-Umgebung gibt es jedoch keine Container, und Sie verwenden diesen Befehl möglicherweise häufig, bevor Sie Ihre Anwendungsdateien für Testzwecke packen. Nach der Erstellung der JPA-Entitäten können Sie das Tool "wsenhancer" verwenden, um Bytecode in die Entitäten einzufügen, bevor Sie die JAR-Datei in die EAR-Datei für die Anwendung packen.

Syntax

Bevor Sie den Befehl ausführen, müssen Sie eine Kopie der Datei persistence.xml im Klassenpfad haben oder mit dem Argument "-p [Pfad_der_Datei_persistence.xml]" als Eigenschaftendatei angeben. Setzen Sie den Befehl über das Unterverzeichnis bin des Verzeichnisses Profilstammverzeichnis ab.

Der Befehl hat die folgende Syntax:

[AIX][HP-UX][Linux][Solaris][z/OS]
wsenhancer.sh [Parameter][Argumente]
[IBM i]
wsenhancer [Parameter][Argumente]
[Windows]
wsenhancer.bat [Parameter][Argumente]

Parameter

Das Erweiterungstool akzeptiert den Standardsatz von Befehlszeilenargumenten, die vom Konfigurationsframework zusammen mit Folgendem definiert werden:
  • -directory/-d <Ausgabeverzeichnis>: Gibt den Pfad des Ausgabeverzeichnisses an.

    Wenn das Verzeichnis dem erweiterten Klassenpaket nicht entspricht, wird die Paketstruktur unterhalb dieses Verzeichnisses erstellt. Standardmäßig überschreibt das Erweiterungstool die ursprüngliche Datei mit der Erweiterung .class.

  • -enforcePropertyRestrictions/-epr <true/t | false/f>: Gibt an, ob eine Ausnahme generiert werden soll, wenn eine Entität für den Zugriff auf Eigenschaften nicht den Einschränkungen für den Eigenschaftenzugriff entspricht.

    Die Standardeinstellung ist false.

  • -addDefaultConstructor/-adc <true/t | false/f>: Gibt an, dass alle persistenten Klassen einen Konstruktor ohne Argumente definieren. Dieses Flag informiert das Erweiterungstool, wenn es allen persistenten Klassen, die noch keinen Konstruktor enthalten, einen geschützten Konstruktur ohne Argumente hinzufügen soll.
  • -tmpClassLoader/-tcl <true/t | false/f>: Gibt an, ob das Erweiterungstool persistente Klassen mit einem temporären Klassenlader laden soll.

    Diese Funktion ermöglicht anderem Code, die erweiterte Version der Klasse anschließend in derselben Java Virtual Machine (JVM) zu laden. Die Standardeinstellung ist "true".

    Fehler vermeiden Fehler vermeiden: Treten bei der Ausführung des Erweiterungstools Probleme beim Laden von Klassen auf, können Sie dieses Flag im Rahmen eines Debugging-Schritts auf false setzen.gotcha
  • Sie können bei der Angabe des Klassennamens zwischen den folgenden Optionen wählen:
    • Vollständiger Name einer Klasse.
    • Name mit der Erweiterung .java für eine Klasse.
    • Datei mit der Erweiterung .class einer Klasse.
Wenn Sie mit dem Erweiterungstool keine Argumente angeben, wird das Tool nur für die Klassen in der Liste persistenter Klassen ausgeführt.

Syntax

Zur Verwendung des Tools "wsenhancer" benötigen Sie Entitäten, die gemäß JPA-Spezifikation definierte sind, und diese Entitäten müssen kompiliert werden. Führen Sie das Tool "wsenhancer" für die Entitäten aus, bevor Sie sie in eine JAR-Datei packen. Wenn die Entitäten bereits gepackt sind, müssen Sie die Entitätsklassendateien extrahieren, das Erweiterungstool ausführen und die JAR-Datei erneut erstellen.

Gehen Sie zum Erweitern von Entitäten wie folgt vor:
  • Vergewissern Sie sich, dass Ihre Entitäten im Klassenpfad vorhanden sind, und fügen Sie sie gegebenenfalls hinzu.
  • Führen Sie den Befehl "wsenhancer" aus. Sie finden den Befehl im Verzeichnis Profilstammverzeichnis/bin.
Nachrichten und Fehler werden gemäß Angabe in den Protokolleinstellungen in der Administrationskonsole protokolliert. Nach dem Starten des Befehls "wsenhancer" sind Ihre Dateien erweitert.

Beispiele

Gehen Sie zum Erweitern aller Entitäten im Klassenpfad wie folgt vor:

[AIX][HP-UX][Linux][Solaris][z/OS]
$ cd build
/home/user/myproject/build $ ${Profilstammverzeichnis}/bin/wsenhancer.sh
[IBM i]
$ cd build
/home/user/myproject/build $ ${Profilstammverzeichnis}/bin/wsenhancer
[Windows]
C:\myproject\cd build
C:\myproject\build>%profile_root%\bin\wsenhancer.bat 

Alle Entitäten in "myproject" werden erweitert.

Gehen Sie wie folgt vor, um eine bestimmte Entität zu erweitern, wenn Sie die Quellendateien besitzen:

[AIX][HP-UX][Linux][Solaris][z/OS]
$ cd build
/home/user/myproject/build $ ${Profilstammverzeichnis}/bin/wsenhancer.sh Magazine.java
[IBM i]
$ cd build
/home/user/myproject/build $ ${Profilstammverzeichnis}/bin/wsenhancer Magazine.java
[Windows]
C:\myproject\cd build
C:\myproject\build>%Profilstammverzeichnis%\bin\wsenhancer.bat Magazine.java

Gehen Sie wie folgt vor, um eine bestimmte Entität zu erweitern, wenn Sie die kompilierten Klassendateien besitzen:

[AIX][HP-UX][Linux][Solaris][z/OS]
$ export CLASSPATH=target/classes
$ ${Profilstammverzeichnis}/bin/wsenhancer.sh /bin/wsenhancer.sh target/classes/jpa/example/MyEntity.class
[IBM i]
$ export CLASSPATH=target/classes
$ ${Profilstammverzeichnis}/bin/wsenhancer target/classes/jpa/example/MyEntity.class
[Windows]
C:> cd build
C:\build> SET CLASSPATH=target\classes
C:\build>%Profilstammverzeichnis%\bin\wsenhancer.bat \bin\wsenhancer.bat target\classes\jpa\example\Magazine.class

Die Entität "Magazine.java" im Projekt wurde erweitert.

Weitere Informationen

Weitere Informationen zu den Erweiterungstools finden Sie im Abschnitt zu persistenten Klassen in der Dokumentation von Apache OpenJPA.


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_wsenhancer
Dateiname:rejb_wsenhancer.html