Integrierbaren Container ausführen

Verwenden Sie diese Task, um einen integrierbaren Container auszuführen. Im integrierbaren Container ausgeführte Anwendungen werden schneller gestartet und haben einen geringeren Speicherbedarf als bei der Ausführung im vollständigen Anwendungsserver. Der Container ist eine ideale Umgebung für das schnelle Entwickeln und Testen von Anwendungen, die letztendlich im Anwendungsserver ausgeführt werden.

Vorbereitende Schritte

Bevor Sie einen integrierbaren Container ausführen, müssen die folgenden Komponenten vorhanden sein:
  • Kopie der Datei <Stammverzeichnis_des_Anwendungsservers>\runtimes\com.ibm.ws.ejb.embeddableContainer_9.0.jar
    Einschränkung: Der EJB-Thin-Client com.ibm.ws.ejb.thinclient_9.0.jar und die in die EJB integrierbare JAR-Datei com.ibm.ws.ejb.embeddableContainer_9.0.jar können nicht in demselben Klassenpfad koexistieren.
  • Kopie der Datei <Stammverzeichnis_des_Anwendungsservers>\runtimes\endorsed\endorsed_apis_9.0.jar, wenn Sie die Annotation "@Resource" mit dem Attribut "lookup" verwenden
  • Mindestens ein EJB-Modul in JAR-Dateien oder Klassenverzeichnissen
  • Hauptklasse (main), die den integrierbaren Container erstellt
  • Java™ SE Development Kit (JDK) oder Java Runtime Environment (JRE) Version 8.0 oder höher

Informationen zu diesem Vorgang

Der Schlüssel für die Ausführung des integrierbaren Containers ist der Klassenpfad. Der Klassenpfad muss alle zuvor aufgelisteten Artefakte enthalten. Wenn beispielsweise my.pkg.MyMainClass die Hauptklasse ist und Enterprise-Beans verwendet, die in der Datei MyEJBModule.jar gespeichert sind, wird die Hauptklasse, die den integrierbaren Container startet, möglicherweise über die folgende Zeile gestartet. In diesem Beispiel wird davon ausgegangen, dass sich alle JAR-Dateien und Klassenverzeichnisse im aktuellen Arbeitsverzeichnis befinden.
  • Windows:
    C:\test> java -cp .;com.ibm.ws.ejb.embeddableContainer_9.0.jar my.pkg.MyMainClass
  • UNIX:
    [test]$ java -cp .:com.ibm.ws.ejb.embeddableContainer_9.0.jar:MyEJBModule.jar my.pkg.MyMainClass
Es ist möglich, den integrierbaren Container auszuführen, ohne alle Module im Klassenpfad anzugeben. Dazu muss im Code eine Datei oder ein Dateibereich für die Eigenschaft MODULES angegeben werden, und das Ladeprogramm für die Kontextklassen des Threads, der die Containerinstanz erstellt, muss die angegebenen Dateien laden können.
Wenn Sie Eigenschaften für den integrierbaren Container in einer anderen Textdatei als der Datei "embeddable.properties" im aktuellen Arbeitsverzeichnis angeben möchten, müssen Sie die Systemeigenschaft "com.ibm.websphere.embeddable.configFileName" definieren, z. B.:
  • Windows:
    C:\test> java -Dcom.ibm.websphere.embeddable.configFileName="C:\test\my-config.properties"
     -cp .;com.ibm.ws.ejb.embeddableContainer_9.0.jar;MyEJBModule.jar my.pkg.MyMainClass
  • UNIX:
    [test]$ java -Dcom.ibm.websphere.embeddable.configFileName="/home/myusername/test/my-config.properties"
     -cp .:com.ibm.ws.ejb.embeddableContainer_9.0.jar:MyEJBModule.jar my.pkg.MyMainClass
Wenn Sie eine Anwendung, die JPA verwendet, im integrierbaren EJB-Container entwickeln, muss der Klassenpfad den JPA-Thin-Client com.ibm.ws.jpa-2.1.thinclient_9.0.jar enthalten. Der JPA-Thin-Client befindet sich unter \runtimes im Stammverzeichnis des Installationsimage.
  • Windows:
    C:\test> java -cp .;com.ibm.ws.ejb.embeddableContainer_9.0.jar;%WAS_HOME%\runtimes
      \com.ibm.ws.jpa-2.1.thinclient_9.0.jar;MyEJBModule.jar my.pkg.MyMainClass
  • UNIX:
    [test]$ java -cp .:com.ibm.ws.ejb.embeddableContainer_9.0.jar:${WAS_HOME}/runtimes
      /com.ibm.ws.jpa-2.1.thinclient_9.0.jar:MyEJBModule.jar my.pkg.MyMainClass
Unterstützte Konfigurationen Unterstützte Konfigurationen: Weil die JPA-Provider in ihrem Verhalten und in Bezug auf die anbieterspezifischen APIs verschieden sind, kann für Anwendungen, die von OpenJPA abhängig sind, statt dessen der JPA 2.0-Thin-Client mit dem integrierbarer EJB-Container verwendet werden. Nehmen Sie den JPA 2.0-Thin-Client, der sich im Verzeichnis {WAS_INSTALL_ROOT}\runtimes\com.ibm.ws.jpa-2.0.thinclient_9.0.jar befindet, in den Klassenpfad auf.sptcfg
Unterstützte Konfigurationen Unterstützte Konfigurationen: Sie können einen Java-Agent-Mechanismus angeben, der die dynamische Erweiterung zur Ausführungszeit ausführt. Geben Sie beispielsweise an der Eingabeaufforderung die folgende Codezeile ein: sptcfg
  • Windows:
    C:\test> java -javaagent:%WAS_HOME%\runtimes\com.ibm.ws.jpa-2.1.thinclient_9.0.jar
     -cp .;com.ibm.ws.ejb.embeddableContainer_9.0.jar;MyEJBModule.jar my.pkg.MyMainClass
  • UNIX:
    [test]$ java -javaagent:${WAS_HOME}/runtimes/com.ibm.ws.jpa-2.1.thinclient_9.0.jar
     -cp .:com.ibm.ws.ejb.embeddableContainer_9.0.jar:MyEJBModule.jar my.pkg.MyMainClass
Zum Aktivieren der Traceerstellung im integrierbaren Container können Sie die Systemeigenschaft "com.ibm.ejs.ras.lite.traceSpecification" wie für den Server auf einen Tracespezifikationswert setzen. Standardmäßig wird der Trace in der Standardausgabe ausgegeben, aber Sie können die Ausgabe umleiten, indem Sie die Systemeigenschaft "com.ibm.ejs.ras.lite.traceFileName" definieren. Im folgenden Beispiel wird gezeigt, wie Sie beide Systemeigenschaften verwenden:
  • Windows:
    C:\test> java -Dcom.ibm.ejs.ras.lite.traceSpecification=EJBContainer=all:MetaData=all
     -Dcom.ibm.ejs.ras.lite.traceFileName=trace.log
     -cp .;com.ibm.ws.ejb.embeddableContainer_9.0.jar;MyEJBModule.jar my.pkg.MyMainClass
  • UNIX:
    [test]$ java -Dcom.ibm.ejs.ras.lite.traceSpecification=EJBContainer=all:MetaData=all
     -Dcom.ibm.ejs.ras.lite.traceFileName=trace.log
     -cp .:com.ibm.ws.ejb.embeddableContainer_9.0.jar:MyEJBModule.jar my.pkg.MyMainClass
Wenn Ihre Beans die Annotation "javax.annotation.Resource" mit dem Attribut "lookup" verwenden, müssen Sie auch Java Endorsed Standards Override Mechanism verwenden, um die API "javax.annotation.Resource" zu überschreiben, die im JDK auf Ihrem System verfügbar ist. Kopieren Sie die Datei Stammverzeichnis_des_Anwendungsservers\runtimes\endorsed\endorsed_apis_9.0.jar in ein Zielverzeichnis Ihrer Wahl. Verwenden Sie die Eigenschaft java.endorsed.dirs im Java-Befehl, um Ihr Verzeichnis anzugeben, das die kopierte JAR-Datei enthält. Im folgenden Beispiel wird gezeigt, wie Sie die Eigenschaft "java.endorsed.dirs" angeben:
  • Windows:
    C:\test> java -Djava.endorsed.dirs="myTargetDirectory"
     -cp .;com.ibm.ws.ejb.embeddableContainer_9.0.jar;MyEJBModule.jar my.pkg.MyMainClass
  • UNIX:
    [test]$ java -Djava.endorsed.dirs="myTargetDirectory"
     -cp .:com.ibm.ws.ejb.embeddableContainer_9.0.jar:MyEJBModule.jar my.pkg.MyMainClass

Symbol, das den Typ des Artikels anzeigt. Taskartikel



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