エンタープライズアプリケーションの設定

このセクションでは、標準エンタープライズアプリケーションのデプロイメントディスクリプタである application.xml と、J2EE 拡張メカニズムについて説明します。J2EE 拡張メカニズムによって、同じクラスライブラリ上にある個々のモジュールの依存性を調整することができます。

application.xml デプロイメントディスクリプタについて

アプリケーションのアセンブル担当者は application.xml ファイルを使用して、エンタープライズアプリケーションとそれに含まれている J2EE モジュールを宣言します。エンタープライズアプリケーションには、1 つ以上の Web アプリケーション、EJB、またはエンタープライズリソースアダプタが含まれています。また、アプリケーションのアセンブル担当者は application.xml ファイルを使用して、すべてのアプリケーションモジュールに適用するセキュリティロールも指定できます。

application.xml ファイルの alt-dd 要素を使用すると、アセンブル担当者はモジュールアーカイブファイル内にあるデプロイメントディスクリプタではなく、他のデプロイメントディスクリプタを使用できます。個々の WAR、JAR、および RAR ファイル内でデプロイメントディスクリプタを変更する必要はありません。

application.xml ファイルには、application 要素の下に次の最上位レベルの要素が含まれています。

XML 要素
必須/
オプション

説明
icon
オプション
ツールで使用するイメージ
display-name
必須
ツールで使用する短い名前
description
オプション
ツールで使用するエンタープライズアプリケーションの説明
module (0 以上)
必須
エンタープライズアプリケーション内の J2EE モジュールのアーカイブファイルまたは展開したディレクトリへのパス。
次の J2EE モジュールがサポートされて
います。
  • connector:エンタープライズリソースアダプタ
  • ejb:EJB
  • web:Web アプリケーション
Web アプリケーションで EJB やリソースアダプタを使用する場合があるため、JRun は Web アプリケーションの前に EJB やリソースアダプタをデプロイします。複数の EJB モジュールは、デプロイメントディスクリプタに指定されている順にデプロイされます。
オプションの alt-dd 要素は、エンタープライズアプリケーションのルートディレクトリを基準にした別の J2EE モジュールのデプロイメントディスクリプタへのフルパスを指定します。alt-dd が設定されていない場合、JRun は最初のモジュールのデプロイメントディスクリプタを読み込みます。
オプションの web/context-root 要素は Web アプリケーションのコンテキストルート (論理ルート) を指定します。
security-role (0 以上)
オプション
アプリケーション全体のセキュリティロールの宣言

例:application.xml デプロイメントディスクリプタ

次のデプロイメントディスクリプタでは、展開したディレクトリで EJB モジュールを、JARファイルで EJB モジュールを、展開したディレクトリで Web アプリケーションモジュールを、WAR ファイルで Web アプリケーションを宣言し、さらにセキュリティロールも宣言します。

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE application PUBLIC
  "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
  "http://java.sun.com/dtd/application_1_3.dtd">
<application>
  <display-name>samples-ear</display-name>
    <module>
      <ejb>account</ejb>
    </module>
    <module>
      <ejb>shoppingcart.jar</ejb>
    </module>
    <module>
      <web>
        <web-uri>samples-war</web-uri>
        <context-root>/samples</context-root>
      </web> <web>
        <web-uri>storefront.war</web-uri>
        <context-root>/storefront</context-root>
      </web>
    </module>
    <security-role>
      <description>Administrator role</description>
      <role-name>Admin</role-name>
    </security-role>
</application>

J2EE モジュールの依存性の処理

JRun には、アセンブル担当者が同じクラスライブラリ上の個々の J2EE モジュールの依存性を調整できる便利な方法があります。モジュールの META-INF/manifest.mf ファイルの Class-Path 属性に指定されているファイルが自動的にクラスパスに追加されます。Class-Path 属性には、JAR ファイル、ZIP ファイル、ディレクトリなどの標準のクラスパスで使用できる任意のファイルを指定できます。この機能は、アーカイブファイルまたは展開したディレクトリ内のエンタープライズアプリケーション、EJB、Web アプリケーション、およびリソースアダプタに使用できます。

アセンブル担当者はエンタープライズアプリケーション内にクラスライブラリの 1 つのコピーを入れ、そのクラスライブラリが必要な各モジュールの Class-Path 属性にそのクラスパスを指定できます。

manifest.mf ファイルの Class-Path 属性を使用するには

  1. 既存の manifest.mf ファイルを開くか、テキストエディタで新規の manifest.mf ファイルを作成します。
  2. Class-Path 属性を列記した 1 行を追加します。この属性には、クラスパスに追加する各 JAR ファイルの相対 URL をスペースで区切って指定します。URL は、モジュールを含んでいるエンタープライズアプリケーションではなく、そのモジュールを基準にしている必要があります。

    次に例を示します。

    Class-Path:common/util1.jar common/log4j.jar
    
  3. manifest.mf ファイルを保存します。
  4. モジュールのルートディレクトリの下にある META-INF ディレクトリに manifest.mf ファイルを追加します。アーカイブしたモジュールの場合は、モジュールをアーカイブし直す必要があります。
  5. モジュールをリデプロイします。デプロイメントディスクリプタを変更したり、モジュールアーカイブファイルを修正したりすると、ホットデプロイを実行できます。