Code Log

プログラミングの勉強メモを残していきます。

JBoss5のServer Configuration。server/以下のディレクトリの意味まとめ


<スポンサーリンク>

目次

Server Configurationとは

JBossのserver以下にあるものをserver configurationsという。
「jboss-5.1.0.GA\server」以下のall,default,minimalというディレクトリだ。

run.sh -c で指定するのはserver configurationで、そこで指定したconfigurationが起動する。

default,minimal,allには以下のような違いがある。

Configuration 説明
default Java EEサーバーの機能を使うための全ての必要なサービスを含む。クラスタリングサービスは含まない。
minimal 最小限のサービスセットだけを含む。マイクロコンテナと、deployerと、JNDIサービスがある。
all Jboss ASの全てのサービスを含んでいる。クラスタリングサービスも持っている。

f:id:sho322:20140825103003j:plain

conf

confディレクトリはサーバのブートシーケンスに一度だけ読み込まれる。
そのため、一度起動すると、変更を反映するためには、再起動しなければならない。

JBoss5のconfディレクトリ以下の、主だったファイルの意味を見てみる。

ファイル 説明
bootstrap.xml サーバが起動するときにstartするmicrocontainerサービスについて定義する
jboss-service.xml サーバが起動するときにstartするJMXサービスについて定義する
jboss-log4j.xml loggingについて定義する
login-config.xml セキュリティのための認証や認可のモジュールについて定義する
standardjboss.xml EJBコンテナについて定義する

f:id:sho322:20140825102940j:plain

deploy

deployディレクトリ以下には、JBoss ASで動かしたいアプリケーションを配置する。
JBoss ASにはホットデプロイ(Hot Deploy)という機能があって、deploy以下のファイルを定期的にスキャンして、サーバ起動中に更新を読み取る機能がある。
サーバが起動していない場合は、起動時にdeploy以下を読み取る。

同じファイルを更新した時は、更新したものが反映される。
しかし、ホットプロイメントにも弊害がある。
それは、アプリケーションの状態を失ってしまうことだ。
サーバ側でユーザのセッションを保持している場合などは、ホットデプロイで更新すると、その情報が失われてしまうので、注意が必要だ。

ホットデプロイを使わない場合も、MBean経由でデプロイすることもできる。
jboss.system:service=MainDeployerのdeployメソッドを使えばいい。

twiddleやJMX Consoleを使って、デプロイを実行することができる。
そのやり方は別の記事で紹介する。


lib

libディレクトリはサービス横断で使用するライブラリファイルを保持する。
サーバ内の複数のアプリケーションで使用するライブラリがある場合は、libディレクトリに配置するといい。
たとえば、データベースのドライバなどのjarファイルはここに配置する。


以下は、JBossが作るディレクトリだ。

data

dataディレクトリ
一時的なデータを保持するためのファイルを書き出すために使う。
HSQL DBを使用するときに使ったりするようだ。

log

boot.log,server.log,audit.logをここに吐き出す。
boot.logは一時的なログファイルで、JBoss ASがロギングサービスを使えるようになるまでの情報を吐き出す。
ここでエラーが出ると、ロギングサービスが使える前に何かエラーが発生したということだ。

server.logファイルはlog4jによって定義され、吐き出されるファイルだ。
audit.logファイルはsecurityのサブディレクトリにある。
セキュリティ関連のログが吐き出される。


tmp

tmpディレクトリは様々なサービスの一時的なデータを保管する。

work

workディレクトリはJBoss Web ServerがコンパイルしたJSPファイルを保持したり、一時データを補完するために使う。

JBoss Enterprise Application Platform6 構築・運用パーフェクトガイド

JBoss Enterprise Application Platform6 構築・運用パーフェクトガイド