JBoss入門4章のサンプルをJBoss 3.2.2/3.2.3上で動作させる方法

問題

「JBoss入門」4章サンプルは、ant load-dataを実行することで初期データをHSQLDBへインストールしていますが、JBoss 3.2.2以降のバージョンではAntの実行中に次のようなエラーになってしまいます。
java.sql.SQLException: Connection is broken: Connection refused: connect

原因

セキュリティ上の理由によって、JBoss 3.2.2以降、JBossサーバの外部からネットワーク経由でHSQLDBにアクセスできないようにデフォルトの設定が変更されたためです。

対処方法

1. %JBOSS_HOME%\server\default\deploy\hsqldb-ds.xmlをエディタで開いてください。
2. <connection-url>jdbc:hsqldb:hsql://localhost:1701</connection-url> の行のコメントをはずして有効にしてください。
3. このファイルの最下部にあるmbeanの宣言をコメントからはずして有効にください(mbean名"jboss:service=Hypersonic"のブロックをすべて)。
4. ファイルをセーブしてください。

修正後のhsqdb-ds.xml

重要な注意

サーバ外部からHSQLDBにアクセスされるおそれがありますので、hsqldb-ds.xml内のuser-name, passwordの部分をデフォルト以外の値に変更してください。また、これらを変更した場合は、build.xmlのload-data/clean- dataのuserid/passwordの部分を変更してください。

以上です。 お疲れ様でした。