Exécution d'un conteneur incorporable

Cette tâche vous permet d'exécuter un conteneur incorporable. Les applications qui fonctionnent dans un conteneur incorporable démarrent plus rapidement et ont une empreinte plus réduite que lorsqu'elles fonctionnent dans le serveur d'applications complet. L'utilisation de cet environnement est idéal pour développer et tester rapidement des applications qui, à terme, sont destinées à s'exécuter dans un serveur d'applications.

Avant de commencer

Avant d'exécuter un conteneur incorporable, vous devez disposer des éléments suivants :
  • Un exemplaire du fichier <app_server_root>\runtimes\com.ibm.ws.ejb.embeddableContainer_9.0.jar
    Restriction : Le client léger d'EJB (Enterprise JavaBeans), com.ibm.ws.ejb.thinclient_9.0.jar, et le fichier JAR (Java™ archive) incorporable d'EJB, com.ibm.ws.ejb.embeddableContainer_9.0.jar, ne peuvent pas coexister dans le même chemin d'accès aux classes.
  • Un exemplaire du fichier <app_server_root>\runtimes\endorsed\endorsed_apis_9.0.jar, si vous utilisez l'annotation @Resource avec l'attribut lookup
  • Un ou plusieurs modules EJB dans des fichiers JAR ou des répertoires de classes
  • Une classe principale qui crée le conteneur incorporable.
  • Un JDK Java SE ou un JRE (Java Runtime Environment) version 8.0 ou ultérieure

Pourquoi et quand exécuter cette tâche

Le chemin de classes est l'aspect essentiel de l'exécution du conteneur incorporable. Il doit inclure tous les artefacts énumérés plus haut. Par exemple, si la classe principale est my.pkg.MyMainClass et qu'elle utilise des beans enterprise stockés dans le fichier MyEJBModule.jar, la ligne suivante peut exécuter la classe principale qui lance le conteneur intégrable. Cet exemple part du principe que tous les fichiers JAR et les répertoires de classes se trouvent dans le répertoire de travail en cours.
  • 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
Il est possible d'exécuter le conteneur incorporable sans spécifier tous les modules sur le chemin de classes. Il faut alors que le code spécifie un objet File ou un tableau d'objets File pour la propriété MODULES et que le chargeur de classe de contexte de l'unité d'exécution qui crée l'instance de conteneur soit capable de charger les fichiers spécifiés.
Si vous voulez spécifier les propriétés du conteneur incorporable dans un fichier texte autre que embeddable.properties, situé dans le répertoire de travail en cours, vous devez indiquer la propriété système com.ibm.websphere.embeddable.configFileName. Par exemple :
  • 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
Lorsque vous développez une application qui utilise JPA dans le conteneur d'EJB incorporable, le chemin d'accès aux classes doit inclure le client léger JPA, com.ibm.ws.jpa-2.1.thinclient_9.0.jar. Le client léger JPA se trouve dans \runtimes, où est situé le répertoire racine de l'image d'installation.
  • 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
Configurations prises en charge Configurations prises en charge: Etant donné que les fournisseurs JPA n'ont pas le même comportement ni les mêmes API de fournisseur, pour les applications qui dépendent d'OpenJPA, le client léger JPA 2.0 peut être utilisé à la place avec le conteneur incorporable d'EJB. Incluez le client léger JPA 2.0 qui se trouve dans le répertoire {WAS_INSTALL_ROOT}\runtimes\com.ibm.ws.jpa-2.0.thinclient_9.0.jar.sptcfg
Configurations prises en charge Configurations prises en charge: Vous pouvez spécifier le mécanisme d'agent Java pour effectuer l'extension dynamique à l'exécution. Par exemple, tapez la ligne de code suivante à l'invite de commande : 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
Pour activer le traçage dans le conteneur incorporable, vous devez indiquer une valeur de spécification de trace pour la propriété système com.ibm.ejs.ras.lite.traceSpecification, exactement comme vous le feriez pour le serveur. Par défaut, la trace est envoyée au flux de sortie standard (stdout), mais vous pouvez la rediriger vers un fichier en spécifiant la propriété système com.ibm.ejs.ras.lite.traceFileName. L'exemple suivant montre comment utiliser les deux propriétés système :
  • 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
Si vos beans utilisent l'annotation javax.annotation.Resource avec l'attribut de correspondance, vous devez également utiliser le mécanisme Java Endorsed Standards Override Mechanism pour remplacer l'API javax.annotation.Resource disponible dans le JDK que vous utilisez sur votre système. Copiez le fichier app_server_root\runtimes\endorsed\endorsed_apis_9.0.jar dans un répertoire cible de votre choix. Utilisez la propriété java.endorsed.dirs dans la commande Java pour spécifier le répertoire qui contient le fichier JAR copié. L'exemple suivant montre comment spécifier la propriété java.endorsed.dirs :
  • 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

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_runemcontainer
Nom du fichier : tejb_runemcontainer.html