JBoss 3.2の基本的なセットアップ

JBossは、 米国のMarc Fleury氏を中心に設立されたオープンソースの開発チーム、 JBoss.orgによって開発・公開されている EJBコンテナ(J2EEアプリケーションサーバ)です。
現在安定版としてバージョン3.2.3、Developer Releaseとして4.0.0が公開されています。
JBossは単体で、EJBコンテナ、JNDIプロバイダ、JTAサーバなどの役割に適用できますが、 Webサーバやサーブレット/JSPコンテナとしての機能は持っていません。 そこで、それらも備えてWebアプリケーションサーバとして使えるように、 軽量・高速なオープンソースのサーブレットコンテナ、 Jetty、 または広く使われるこれまたオープンソースのサーブレットコンテナ Jakarta Tomcat と連係するようにカスタマイズされたアーカイブが配布されています。 ここではJettyバンドルのJBoss 3.2.1を使ってみます。

インストール手順
事前に用意するものとしては、J2SE SDK 1.4などのJava VMが必要です。

  1. 上のホームページから、アーカイブをダウンロードして、 適当なディレクトリで展開します。
  2. できたディレクトリをインストールしたい場所に移動します。 ここでは C:\Wintools\jboss に配置したとし、この位置を以後 $JBOSS_HOME と表記します。
  3. $JBOSS_HOME/bin/run.bat を起動します。 コマンドプロンプトに何かいろいろ出ると思います。
  4. http://localhost:8080/web-console にアクセスし、 ページが表示されたらとりあえずOKです。 (このページは左半分がJavaアプレットなので、 Javaを有効にしたWebブラウザで見てください)
  5. 動作を確認したら、 「$JBOSS_HOME/bin/shutdown.bat -S」で終了できます。 (または、run.batのコンソールでCtrl+C)

設定セットの変更
JBossアプリケーションサーバの設定は多種多様です。 それらの設定を全部行った状態を持つものを設定セット(Configuration Set) と呼び、これを変更することでサーバの挙動をアプリケーションの要求に応じて切り替えることが可能です。
JBossには、初期状態で3つの設定セットがあります。 「all」「default」「minimal」で、それで$JBOSS_HOME/serverディレクトリの下にその名前のディレクトリがあるはずで、 これを新しく作れば新しい設定セットを作ることも可能です。(これは、いずれ、試そうかなと思います)
で、普通にrun.batを動かすと、「default」が起動するようになっていると思います。 これを変更するには、run.batに起動オプション「-c all」(または-call) のように設定セットの名前を指定して実行します。

JBoss Webアプリケーションのポートの変更
$JBOSS_HOME/server/default/deploy/jbossweb-jetty.sar/META-INF/jboss-service.xml を編集して、変更できます。

ほっとデプロイディレクトリの変更
そのディレクトリにWebアプリケーションまたはエンタープライズアプリケーションを置いておけば、 自動的にデプロイ(配備) が行われるほっとデプロイディレクトリは、 初期設定では $JBOSS_HOME/server/default/deploy になっていますが、 $JBOSS_HOME/server/default/conf/jboss-service.xmlを編集することで、 変更・追加ができます。このファイルをテキストエディタで開き、

<attribute name="URLs">
  deploy/
</attribute>

<attribute name="URLs">
  deploy/,file:/usr/javadeploy/hothot/
</attribute>

のようにすることで、ディレクトリを追加できます。 (最後の/はディレクトリ全体をスキャンする、という意味なので、必須です)

サードパーティのJARファイルの追加
EJBモジュールが参照するJARファイルは、$JBOSS_HOME/server/設定セット名/libに、 Webアプリケーションが参照するJARファイルは、 Webアプリケーションのコンテキスト・ルート/WEB-INF/lib に配置します。

ディレクトリの状態でデプロイするには、
ディレクトリに.warまたは.earをつけた名前にします。 例えば、アプリケーション名がapp05だと、 ディレクトリ名をWebアプリケーションの場合は「app05.war」、 エンタープライズアプリケーションの場合は「app05.ear」 とすればOKです。

気づいたこと
JettyはJRunやTomcatに比べ、web.xmlの文法の制約が強いようで、 タグを記述する順番に注意が必要できます。 タグ××はここで指定できない、という意味のエラーになったタグは、 そのブロックの一番後ろに回してみると、 エラーが出なくなることがあります。


データベース・リソースの設定

データベース接続情報をリソースとしてサーバに設定し、JNDI名で参照できるようにするには、 次の作業を行います。

  1. $JBOSS_HOME/docs/examples/jca に、なんとか-ds.xmlというファイルがたくさんあるので、 なんとかの部分が自分が使おうとしているRDBMS製品に似たものを選びます。 ここでは、mysql-ds.xmlを選び、 これを $JBOSS_HOME/server/{設定セット}/deploy にコピーします。 JBossが動いている場合はこの時点でこのファイルがほっとデプロイされてしまうので、 注意してください。
  2. そのファイルを環境に応じて書き換えます。

    <?xml version="1.0" encoding="UTF-8"?>
    <datasources>
      <local-tx-datasource>
        <jndi-name>Mudb</jndi-name>
        <connection-url>jdbc:mysql://localhost:3306/udb?useUnicode=true&characterEncoding=Windows-31J</connection-url>
        <driver-class>com.mysql.jdbc.Driver</driver-class>
        <user-name>urano</user-name>
        <password>urano398</password>
      </local-tx-datasource>
    </datasources>
    

  3. RDBMS製品に応じたJDBCドライバを入手し、 $JBOSS_HOME/server/{設定セット}/lib に置きます。
  4. EJBなどのプログラムからは、JNDI名 "java:/{XMLファイルjndi-name}" でこのリソースが参照できます。 上の例では、 "java:/Mudb"となります。

Server Side Java Index Top

(first uploaded 2003/06/04 last updated 2003/12/28, KQ TAURA - URANO398)

楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル