組み込み可能コンテナーの実行
このタスクを使用して、組み込み可能コンテナーを実行します。組み込み可能コンテナーで稼働するアプリケーションは、完全アプリケーション・サーバーで稼働するときよりも開始時間が短縮され、必要な占有スペースも少なくなります。 これは、最終的にアプリケーション・サーバーで稼働する可能性があるアプリケーションの迅速な開発とテストに理想的な環境です。
始める前に
組み込み可能コンテナーを実行するには、次のものが必要です。
- <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¥runtimes\endorsed\endorsed_apis_9.0.jar ファイルのコピー (検索属性を含む @Resource アノテーションを使用している場合)
- JAR ファイルまたはクラス・ディレクトリーにある 1 つ以上の EJB モジュール
- 組み込み可能コンテナーを作成するメイン・クラス
- Java SE Development Kit (JDK) または Java Runtime Environment (JRE) バージョン 8.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
現行作業ディレクトリーにある 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


- 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
また、検索属性で javax.annotation.Resource アノテーションを使用する Bean では、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