6.3. カスタムモジュールの作成
カスタムの静的モジュールを追加して、JBoss EAP で実行しているデプロイメントがリソースを利用できるようにすることができます。モジュールは 手動 で作成するか、管理 CLI を使用 して作成することができます。
モジュールの作成後、アプリケーションがリソースを使用できるようにするには モジュールを依存関係として追加 する必要があります。
カスタムモジュールの手動作成
カスタムモジュールを手動で作成するには、以下の手順に従います。
EAP_HOME/modules/ディレクトリーに適切なディレクトリー構造を作成します。例: MySQL JDBC ドライバーディレクトリー構造の作成
cd EAP_HOME/modules/ mkdir -p com/mysql/main
$ cd EAP_HOME/modules/ $ mkdir -p com/mysql/mainCopy to Clipboard Copied! Toggle word wrap Toggle overflow JAR ファイルまたはその他必要なリソースを
main/サブディレクトリーにコピーします。例: MySQL JDBC ドライバー JAR のコピー
cp /path/to/mysql-connector-java-8.0.12.jar EAP_HOME/modules/com/mysql/main/
$ cp /path/to/mysql-connector-java-8.0.12.jar EAP_HOME/modules/com/mysql/main/Copy to Clipboard Copied! Toggle word wrap Toggle overflow module.xmlファイルをmain/サブディレクトリーに作成し、そのファイルの適切なリソースおよび依存関係を指定します。例: MySQL JDBC ドライバー
module.xmlファイルCopy to Clipboard Copied! Toggle word wrap Toggle overflow
管理 CLI を使用したカスタムモジュールの作成
module add 管理 CLI コマンドを使用してカスタムモジュールを作成できます。
module 管理 CLI コマンドを使用したモジュールの追加および削除は、テクノロジープレビューとしてのみ提供されます。このコマンドは、管理対象ドメインでの使用や、リモートによる管理 CLI への接続時には適していません。本番環境ではモジュールを手作業で 追加 および 削除 してください。
テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
テクノロジープレビュー機能のサポート範囲については、Red Hat カスタマーポータルの テクノロジープレビュー機能のサポート範囲 を参照してください。
- JBoss EAP サーバーを起動します。
管理 CLI を起動します。
EAP_HOME/bin/jboss-cli.sh
$ EAP_HOME/bin/jboss-cli.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow module add管理 CLI コマンドを使用して新しいコアモジュールを追加します。module add --name=MODULE_NAME --resources=PATH_TO_RESOURCE --dependencies=DEPENDENCIES
module add --name=MODULE_NAME --resources=PATH_TO_RESOURCE --dependencies=DEPENDENCIESCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例: 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 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.apiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 独自の module.xml ファイルの提供、外部モジュールディレクトリーの使用、モジュールの代替スロットの指定など、このコマンドのカスタマイズに使用できる引数については、
モジュールコマンド引数を参照してください。また、module --helpを実行すると、このコマンドを使用したモジュールの追加および削除に関する詳細を表示することもできます。
モジュールを依存関係として追加
アプリケーションがこのモジュールのリソースにアクセスできるようにするには、モジュールを依存関係として追加する必要があります。
- デプロイメント記述子を使用してアプリケーション固有の依存関係を追加するには、開発ガイド のデプロイメントへの明示的なモジュール依存関係の追加を参照してください。
- モジュールを依存関係としてすべてのアプリケーションに追加する手順については グローバルモジュールの定義 の項を参照してください。
たとえば、以下の手順は複数のプロパティーファイルが含まれる JAR ファイルをモジュールとして追加し、グローバルモジュールを定義して、アプリケーションがこれらのプロパティーをロードできるようにします。
JAR ファイルをコアモジュールとして追加します。
module add --name=myprops --resources=/path/to/properties.jar
module add --name=myprops --resources=/path/to/properties.jarCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのデプロイメントが使用できるようにするため、このモジュールをグローバルモジュールとして定義します。
/subsystem=ee:list-add(name=global-modules,value={name=myprops})/subsystem=ee:list-add(name=global-modules,value={name=myprops})Copy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションは、JAR 内に含まれるプロパティーファイルの 1 つからプロパティーを読み出すことができます。
Thread.currentThread().getContextClassLoader().getResource("my.properties");Thread.currentThread().getContextClassLoader().getResource("my.properties");Copy to Clipboard Copied! Toggle word wrap Toggle overflow