6.3. カスタムモジュールの作成

カスタムの静的モジュールを追加して、JBoss EAP で実行しているデプロイメントがリソースを利用できるようにすることができます。モジュールは 手動 で作成するか、管理 CLI を使用 して作成することができます。

モジュールの作成後、アプリケーションがリソースを使用できるようにするには モジュールを依存関係として追加 する必要があります。

カスタムモジュールの手動作成

カスタムモジュールを手動で作成するには、以下の手順に従います。

  1. EAP_HOME/modules/ ディレクトリーに適切なディレクトリー構造を作成します。

    例: MySQL JDBC ドライバーディレクトリー構造の作成

    $ cd EAP_HOME/modules/
    $ mkdir -p com/mysql/main

  2. JAR ファイルまたはその他必要なリソースを main/ サブディレクトリーにコピーします。

    例: MySQL JDBC ドライバー JAR のコピー

    $ cp /path/to/mysql-connector-java-8.0.12.jar EAP_HOME/modules/com/mysql/main/

  3. module.xml ファイルを main/ サブディレクトリーに作成し、そのファイルの適切なリソースおよび依存関係を指定します。

    例: MySQL JDBC ドライバー module.xml ファイル

    <?xml version="1.0" ?>
    <module xmlns="urn:jboss:module:1.1" name="com.mysql">
      <resources>
        <resource-root path="mysql-connector-java-8.0.12.jar"/>
      </resources>
      <dependencies>
        <module name="javaee.api"/>
        <module name="sun.jdk"/>
        <module name="ibm.jdk"/>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
      </dependencies>
    </module>

管理 CLI を使用したカスタムモジュールの作成

module add 管理 CLI コマンドを使用してカスタムモジュールを作成できます。

重要

module 管理 CLI コマンドを使用したモジュールの追加および削除は、テクノロジープレビューとしてのみ提供されます。このコマンドは、管理対象ドメインでの使用や、リモートによる管理 CLI への接続時には適していません。本番環境ではモジュールを手作業で 追加 および 削除 してください。

テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

テクノロジープレビュー機能のサポート範囲については、Red Hat カスタマーポータルの テクノロジープレビュー機能のサポート範囲 を参照してください。

  1. JBoss EAP サーバーを起動します。
  2. 管理 CLI を起動します。

    $ EAP_HOME/bin/jboss-cli.sh
  3. module add 管理 CLI コマンドを使用して新しいコアモジュールを追加します。

    module add --name=MODULE_NAME --resources=PATH_TO_RESOURCE --dependencies=DEPENDENCIES

    例: MySQL モジュールの作成

    module add --name=com.mysql --resources=/path/to/mysql-connector-java-8.0.12.jar --dependencies=javaee.api,sun.jdk,ibm.jdk,javax.api,javax.transaction.api

    独自の module.xml ファイルの提供、外部モジュールディレクトリーの使用、モジュールの代替スロットの指定など、このコマンドのカスタマイズに使用できる引数については、モジュールコマンド引数 を参照してください。また、module --help を実行すると、このコマンドを使用したモジュールの追加および削除に関する詳細を表示することもできます。

モジュールを依存関係として追加

アプリケーションがこのモジュールのリソースにアクセスできるようにするには、モジュールを依存関係として追加する必要があります。

  • デプロイメント記述子を使用してアプリケーション固有の依存関係を追加するには、開発ガイドデプロイメントへの明示的なモジュール依存関係の追加を参照してください。

たとえば、以下の手順は複数のプロパティーファイルが含まれる JAR ファイルをモジュールとして追加し、グローバルモジュールを定義して、アプリケーションがこれらのプロパティーをロードできるようにします。

  1. JAR ファイルをコアモジュールとして追加します。

    module add --name=myprops --resources=/path/to/properties.jar
  2. すべてのデプロイメントが使用できるようにするため、このモジュールをグローバルモジュールとして定義します。

    /subsystem=ee:list-add(name=global-modules,value={name=myprops})
  3. アプリケーションは、JAR 内に含まれるプロパティーファイルの 1 つからプロパティーを読み出すことができます。

    Thread.currentThread().getContextClassLoader().getResource("my.properties");