JBoss 3.2.3上でSpring Petclinicデモを動かす方法

Spring 1.0 M4からsamplesのjbossサポートが無くなっていましたので、ここでJBoss上でサンプルを動かす方法をまとめておきます。基本的に以前書いたメモとほとんど同じです。赤字の部分だけ違います。

準備するもの:

JBoss組み込みのHSQLDBのデータソース定義の変更:

JBoss 3.2.2からサーバ外部からのDBアクセスが拒否されるようになったので、Petclinicをインストールする前に$JBOSS_HOME/server/default/deploy/hsqldb-ds.xmlを次のように修正しておく。

  1. localhost:1701を含む宣言がコメントアウトされているのでこれを生かす。
  2. ファイルの最下部のmbean宣言がコメントアウトされているのでこれを生かす。(mbean名jboss:service=Hypersonic)

Petclinic WARを作成する手順:

  1. build.propertiesでhsql.urlのポート番号を9001から1701へ変更する。
  2. war/WEB -INF/applicatonContext-hibernate.xmlにおいてLocal HSQL DatasourceのMBeanを宣言しているブロック(25~31行)をコメントアウトし、その代わりにHSQL JNDI Datasource for J2EE environmentのブロックのコメントに含まれるMBean宣言をコメントから出して生かすようにする(35~37行)。
  3. 次のjboss-web.xmlをwar/WEB-INF/へコピー
<?xml version="1.0" encoding="UTF-8"?>

  
    jdbc/petclinic
    javax.sql.DataSource
    java:/DefaultDS
  

4. war/WEB-INF/web.xmlの最下部のコメントアウトされている部分を生かす。


  jdbc/petclinic
  javax.sql.DataSource
  Container

5. ant warfile

DBを初期化する手順:

  1. JBoss組み込みのHSQLDBの設定を変更(前述)。
  2. JBossを起動
  3. ant setupDB

Petclinicデモの実行方法:

  1. cp dist/petclinic.war $JBOSS_HOME/server/default/deploy
  2. WWWブラウザでhttp://localhost:8080/petclinicを表示