読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

JBoss4.2.3.GAの各ディレクトリの意味のまとめ

<スポンサーリンク>

jboss-4.2.3.GA直下

bin:JBossの起動/停止スクリプトを格納するディレクトリ
client:JNDIにリモートアクセスするために、外部クライアントアプリケーションから使われるJarファイルを格納する
docs:奇妙なことに、ここにJBossのドキュメントは見当たらない。その代わりに、docsの下にサブディレクトリがある。

docs/dtd:J2EE標準や、JBoss特有のデプロイメントディスクリプタ(配備記述子)のXML DTDを格納する。
docs/examples:JBoss descriptorのサンプルがある。たとえば、docs/examples/jca以下には、DataSourceのconfigurationファイルがある。
*-ds.xmlファイルをデータソースのサンプルとして参考にする。
docs/licenses:異なるサービスのライセンスが格納される。
docs/schema:J2EEの標準であるデプロイメントディスクリプタの構造を格納する。
docs/tests:JBossのユニットテスト、機能テストのディレクトリ。

lib:JBossを構築するためのJARファイルを格納する。
server:様々な設定セットのためのサブディレクトリ。自分のアプリケーションはここにデプロイする。

jboss-4.2.3.GA/server直下

このserverというのは、JBossの設定セットを置いたり、アプリケーションをデプロイするディレクトリだ。
デフォルトでは3つのコンフィグレーションが用意されている。
minimal:JNDIとロギングサービスのみ含む。その名の通り最小構成で、他のEJB,JMSなどのサービスは含まれていない。
default:J2EE1.4の設定をベースにしている。特殊な設定をしない限り、これが起動することになる。
all:全部含んだサーバコンフィグレーション。デフォルトのコンフィグレーションに加えて、クラスタサービスも含む。

run.sh -c [minimal|default|all]

のように、-cの後に起動したい設定セットを指定する。
JBossを停止するには、Ctrl+Cを押すか、停止スクリプトを実行する。

J2EEサービスはそれぞれ、JBossの中で起動する。Tomcat,Log4j,Hibernateなどは全てMBeanである。
JBossにはサービスをMBeanとして、取り付けたり取外したりを簡単に行うことができる。

jboss-4.2.3.GA/server/default(server configurationという)直下

conf:Log4JやJAASのための設定ファイルを含む
deploy:動的JBossサービス(=MBeans)のデプロイメントディレクトリ(配置ディレクトリ)である。
また、EARやWARなどの各自のアプリケーションをデプロイするディレクトリでもある。
lib:MBeans、すなわち動的JBossサービスをサポートするためのJARファイルを配置する。

このdeployディレクトリにモノを置いたり外したりすることで、デプロイしたりアンデプロイしたりできる。
このJBossの再起動なしに、デプロイしたり外したりできることをホットデプロイという。

また、$JBOSS_HOME/libと
$JBOSS_HOME/server/[server configuration]/libがあるが、基本的に
$JBOSS_HOME/libには自分のJARファイルは置かない。アプリケーションサーバの依存ライブラリを置く場所である。
$JBOSS_HOME/server/[server configuration]/libは、server configurationが依存するライブラリを配置する。
ここに置くのは基本的にはJARファイルであるべきだ。DBのドライバもここに置くことになる。

$JBOSS_HOME/server/[server configuration]/deployディレクトリはSAR、WAR、EARを置くディレクトリである。
ここにJARファイルを置いても基本的には無視される。
SAR,WAR,EARはそれ自体にJARを含んでいる。

読んだ本

JBoss At Work: A Practical Guide

JBoss At Work: A Practical Guide


JBossについてちゃんとまとまっている本はけっこう少ない。
最近はJBoss6の本も出たが、JBoss4.xについて実務レベルでの知識を習得するには、このJBoss At Workが一番いいと思う。