Ejecución de un contenedor incorporable

Utilice esta tarea para ejecutar un contenedor incorporable. Las aplicaciones que se ejecutan en el contenedor incorporable se inician más rápidamente y requieren menos espacio que cuando se ejecutan en el servidor de aplicaciones completo. Es un entorno ideal para desarrollar y probar rápidamente aplicaciones que finalmente se podrían ejecutar en el servidor de aplicaciones.

Antes de empezar

Antes de ejecutar un contenedor incorporable, debe tener listos los siguientes elementos:
  • Una copia de <raíz_servidor_apl>\runtimes\com.ibm.ws.ejb.embeddableContainer_9.0.jar
    Restricción: El cliente ligero de Enterprise JavaBeans (EJB), com.ibm.ws.ejb.thinclient_9.0.jar, y el archivo de archivado Java™ (JAR) del EJB que se puede incorporar, com.ibm.ws.ejb.embeddableContainer_9.0.jar, no pueden coexistir en la misma vía de acceso de clase.
  • Una copia del archivo <raíz_servidor_apl>\runtimes\endorsed\endorsed_apis_9.0.jar, si está utilizando la anotación @Resource con el atributo de búsqueda
  • Uno o varios módulos EJB en los archivos JAR o directorios de clase
  • Una clase principal que cree el contenedor incorporable
  • Un Java SE Development Kit (JDK) o un Java Runtime Environment (JRE) Versión 8.0 o posteriores

Acerca de esta tarea

La clave para ejecutar el contenedor incorporable es la classpath. Ésta debe incluir todos los artefactos enumerados anteriormente. Por ejemplo, si la clase principal es my.pkg.MyMainClass, y utiliza enterprise beans que están almacenados en el archivo MyEJBModule.jar, la línea siguiente podría ejecutar la clase principal que inicia el contenedor incorporable. En este ejemplo se presupone que todos los archivos JAR y directorios de clase están en el directorio de trabajo actual.
  • 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 posible ejecutar el contenedor incorporable sin especificar todos los módulos en la classpath. Esto requiere que el código especifique un archivo o una matriz de archivos para la propiedad MODULE y el cargador de clases de contexto correspondiente a la hebra que cree la instancia del contenedor debe poder cargar los archivos especificados.
Si desea especificar propiedades de contenedor incorporable en un archivo de texto que no sea embeddable.properties en el directorio de trabajo actual, debe especificar la propiedad del sistema com.ibm.websphere.embeddable.configFileName; por ejemplo:
  • 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
Al desarrollar una aplicación que utiliza JPA en el contenedor de EJB que se puede incorporar, la vía de acceso de clase debe incluir el cliente ligero JPA, com.ibm.ws.jpa-2.1.thinclient_9.0.jar. El cliente ligero JPA se encuentra en \runtimes donde se encuentra el directorio raíz de la imagen de instalación.
  • 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
Supported configurations Supported configurations: Puesto que los proveedores JPA difieren tanto en el comportamiento, como en la API específica del proveedor, para las aplicaciones que dependen de OpenJPA, el cliente ligero de JPA 2.0 se puede utilizar en su lugar con el contenedor EJB que se puede incorporar. Incluya el cliente ligero de JPA 2.0 que se encuentra en el directorio {RAÍZ_INSTALACIÓN_WAS}\runtimes\com.ibm.ws.jpa-2.0.thinclient_9.0.jar.sptcfg
Supported configurations Supported configurations: Puede especificar el mecanismo del agente Java para realizar la ampliación dinámica durante la ejecución. Por ejemplo, escriba la siguiente línea de código en el indicador de mandatos: 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
Para habilitar el rastreo en el contenedor incorporable, puede especificar la propiedad del sistema com.ibm.ejs.ras.lite.traceSpecification con un valor de especificación de rastreo como el que especificaría para el servidor. De forma predeterminada, el rastreo se imprime en la salida estándar, pero puede redirigir la salida especificando la propiedad del sistema com.ibm.ejs.ras.lite.traceFileName. En el ejemplo siguiente se muestra cómo puede utilizar ambas propiedades del sistema:
  • 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 los beans utilizan la anotación javax.annotation.Resource con el atributo lookup, también debe utilizar Java Endorsed Standards Override Mechanism para alterar la API javax.annotation.Resource que está disponible en el JDK del sistema. Copie el archivo raíz_servidor_apl\runtimes\endorsed\endorsed_apis_9.0.jar en un directorio de destino de su elección. Utilice la propiedad java.endorsed.dirs en el mandato Java para especificar el directorio que contiene el archivo JAR copiado. El ejemplo siguiente muestra cómo puede especificar la propiedad 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

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_runemcontainer
File name: tejb_runemcontainer.html