运行可嵌入容器

使用此任务来运行可嵌入容器。在可嵌入容器中运行的应用程序启动速度更快,并且相对于在完整应用程序服务器中运行,需要的资源占用量更少。这是快速开发和测试应用程序(可能最终在应用程序服务器中运行)的理想环境。

开始之前

运行可嵌入容器之前,必须准备好以下各项:
  • <app_server_root>\runtimes\com.ibm.ws.ejb.embeddableContainer_9.0.jar 的副本
    限制: Enterprise JavaBeans (EJB) 瘦客户机 com.ibm.ws.ejb.thinclient_9.0.jar 和 EJB 可嵌入 Java™ 归档 (JAR) 文件 com.ibm.ws.ejb.embeddableContainer_9.0.jar 不能在同一个类路径中共存。
  • <app_server_root>\runtimes\endorsed\endorsed_apis_9.0.jar 文件的副本(如果您将 @Resource 注释与 lookup 属性配合使用)
  • JAR 文件或类目录中的一个或多个 EJB 模块
  • 创建可嵌入容器的主类
  • Java SE Development Kit (JDK) 或者 Java 运行时环境 (JRE) V8.0 或更高版本。

关于此任务

运行可嵌入容器的关键在于类路径。类路径必须包括先前列示的所有工件。例如,如果主类为 my.pkg.MyMainClass 并且它使用存储在 MyEJBModule.jar 文件中的企业 Bean,那么以下行可能会运行用于启动可嵌入容器的主类。此示例假定所有 JAR 文件和类目录位于当前工作目录。
  • 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
即使不在类路径中指定所有模块,也可以运行可嵌入容器。这要求代码为 MODULES 属性指定文件或文件数组,并且用于创建容器实例的线程的上下文类装入器必须能够装入指定文件。
如果您要在当前工作目录中 embeddable.properties 以外的文本文件中指定可嵌入容器属性,那么必须指定 com.ibm.websphere.embeddable.configFileName 系统属性;例如:
  • 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
当您开发在可嵌入 EJB 容器中使用 JPA 的应用程序时,类路径必须包含 JPA 瘦客户机 com.ibm.ws.jpa-2.1.thinclient_9.0.jar。JPA 瘦客户机位于安装映像的根目录所在的 \runtimes 中。
  • 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
支持的配置 支持的配置: 由于 JPA 提供程序在行为和特定于供应商的 API 方面都有所不同,因此对于依赖于 OpenJPA 的应用程序,JPA 2.0 瘦客户机可以改为与 EJB 可嵌入容器配合使用。包含位于目录 {WAS_INSTALL_ROOT}\runtimes\com.ibm.ws.jpa-2.0.thinclient_9.0.jar 中的 JPA 2.0 瘦客户机。sptcfg
支持的配置 支持的配置: 可指定 Java 代理机制在运行时完成动态增强。例如,在命令提示符下输入以下代码行: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
要在可嵌入容器中启用跟踪,您可以将 com.ibm.ejs.ras.lite.traceSpecification 系统属性指定为您要对服务器指定的跟踪规范值。 缺省情况下,跟踪将打印到标准输出,但是您可以通过指定 com.ibm.ejs.ras.lite.traceFileName 系统属性来重定向输出。以下示例显示您可以如何同时使用这两个系统属性:
  • 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
如果您的 Bean 将 javax.annotation.Resource 注释与 lookup 属性配合使用,那么还必须使用 Java Endorsed Standards Override Mechanism 来覆盖系统上的 JDK 中提供的 javax.annotation.Resource API。将 app_server_root\runtimes\endorsed\endorsed_apis_9.0.jar 文件复制到您选择的目标目录中。在 Java 命令上使用 java.endorsed.dirs 属性指定包含复制的 JAR 文件的目录。以下示例显示您可以如何指定 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

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_runemcontainer
文件名:tejb_runemcontainer.html