6.3. カスタムモジュールの作成
カスタムの静的モジュールを追加して、JBoss EAP で実行しているデプロイメントがリソースを利用できるようにすることができます。モジュールは 手動 で作成するか、管理 CLI を使用 して作成することができます。
モジュールの作成後、アプリケーションがリソースを使用できるようにするには モジュールを依存関係として追加 する必要があります。
カスタムモジュールの手動作成
カスタムモジュールを手動で作成するには、以下の手順に従います。
EAP_HOME/modules/
ディレクトリーに適切なディレクトリー構造を作成します。例: MySQL JDBC ドライバーディレクトリー構造の作成
$ cd EAP_HOME/modules/ $ mkdir -p com/mysql/main
JAR ファイルまたはその他必要なリソースを
main/
サブディレクトリーにコピーします。例: MySQL JDBC ドライバー JAR のコピー
$ cp /path/to/mysql-connector-java-8.0.12.jar EAP_HOME/modules/com/mysql/main/
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 カスタマーポータルの テクノロジープレビュー機能のサポート範囲 を参照してください。
- JBoss EAP サーバーを起動します。
管理 CLI を起動します。
$ EAP_HOME/bin/jboss-cli.sh
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
を実行すると、このコマンドを使用したモジュールの追加および削除に関する詳細を表示することもできます。
モジュールを依存関係として追加
アプリケーションがこのモジュールのリソースにアクセスできるようにするには、モジュールを依存関係として追加する必要があります。
- デプロイメント記述子を使用してアプリケーション固有の依存関係を追加するには、JBoss EAP Development Guideの Add an Explicit Module Dependency to a Deployment を参照してください。
- モジュールを依存関係としてすべてのアプリケーションに追加する手順については グローバルモジュールの定義 の項を参照してください。
たとえば、以下の手順は複数のプロパティーファイルが含まれる JAR ファイルをモジュールとして追加し、グローバルモジュールを定義して、アプリケーションがこれらのプロパティーをロードできるようにします。
JAR ファイルをコアモジュールとして追加します。
module add --name=myprops --resources=/path/to/properties.jar
すべてのデプロイメントが使用できるようにするため、このモジュールをグローバルモジュールとして定義します。
/subsystem=ee:list-add(name=global-modules,value={name=myprops})
アプリケーションは、JAR 内に含まれるプロパティーファイルの 1 つからプロパティーを読み出すことができます。
Thread.currentThread().getContextClassLoader().getResource("my.properties");