はじめに
今回は「第2回:JBoss Enterprise Application Platformを操作する」でインストールしたJBoss Enterprise Application Platfrom 4.2.0(以下、JBoss EAP)のディレクトリ構成について解説します。
JBoss EAPのアーキテクチャとディレクトリ構成を理解することで、プロジェクトの設計や導入、運用時はもちろん、パフォーマンスチューニングやトラブルシューティングの際にも役に立つでしょう。
JBoss EAPのディレクトリ構成
JBoss EAPのディレクトリ構成について確認してみましょう。インストールディレクトリの直下には下記のディレクトリが配置されます。
| ディレクトリ名 | 説明 |
|---|---|
| doc | プロダクトドキュメントを含む。GUIインストーラ付モジュールにのみ付属 |
| jboss-as | JBoss EAPのメインディレクトリ。起動するためのスクリプト、ライブラリ、設定ファイルなどを含む |
| seam | HibernateとJBoss Seamフレームワークのためのファイルを含む |
| uninstaller | アンインスーラを含む。GUIインストーラ付モジュールにのみ付属 |
次にメインディレクトリであるjboss-asを確認してみましょう。これは表2のようになっているはずです。
| bin | 起動・停止に関連するスクリプトを格納 |
| client | JBoss EAPの外部もしくはWebコンテナ外で動作するクライアントアプリケーションで使用するための設定ファイルおよびjarファイルを格納 |
| docs | データソース定義の例や設定ファイルのDTDなどを格納 |
| lib | JBoss EAPが使用するライブラリを格納。ユーザアプリケーションに関係するライブラリをここに置かないように注意 |
| server | サーバの設定ファイルを格納。初期状態でall、default、minimalおよびproductionの4種類 |
表2にあるとおり、サーバの設定は「
| サーバ名 | 説明 |
|---|---|
| minimal | 最低限のサービスのみを利用する場合の設定 |
| ロギングサービス、JNDIサーバ、およびdeployディレクトリをスキャンするURLdeploymentScannerが有効 | |
| Webコンテナ、EJB/JMSなど、J2EE1.4で規定されている機能は無効 | |
| default | J2EE 1.4(もしくはJava EE 5.0)の仕様に準拠したアプリケーションを動作させるための標準的な設定 |
| JAXR、IIOP、およびクラスタリングサービスは無効 | |
| all | クラスタリングなどJBoss EAPが持つ機能をフルに利用する場合の設定 |
| production | "all"の設定をベースにプロダクション環境用にチューニングされた設定 |
| ログレベル変更、URLdeploymentScanner間隔の変更(60秒)など | |
| JBoss EAPにのみ付属 |
実際のプロジェクトでは、これらの設定をテンプレートにプロジェクトごとの設定を作成することになります。
作成方法は非常に簡単で、上記の中から一番プロジェクトの要望に近い設定をディレクトリごと別名でコピーし、プロジェクトの必要に応じて適した設定を行うだけです。
$ cp -r default/ myprjでは最後に、表4を参考にJBossサーバのディレクトリ構成を確認してください。
| conf | JBoss EAPのブートストラップディスクリプタであるjboss-service.xmlおよびコアサービスの定義を含む |
| data | データの永続的な記録を必要とするサービスが利用 |
| deploy | ホットデプロイサービスを格納するディレクトリ。またサーバの設定ファイルも格納。通常、ユーザアプリケーションをデプロイするディレクトリとしても使用 |
| デフォルトで、このディレクトリは定期的にスキャンされる様に設定されており、配置されたコンポーネントに変更があった場合に自動的に再デプロイされる | |
| lib | Javaライブラリ等のjarファイルを格納。JDBCドライバは通常このディレクトリに配置。このディレクトリに配置されたjarファイルは起動時、共通クラスとしてロード |
| log | ログファイルを配置。JBoss EAPはロギング機能でJakaruta log4jを使用しているためconf/log4j.xmlにてログ出力の設定を変更可能 |
| tmp | テンポラリディレクトリ。JBoss EAPがデプロイを実行する際にパッケージを展開する等で使用 |
| work | WebコンテナがJSPをコンパイルするのに利用するディレクトリ |