JBoss-4.2.3.GAでPostgreSQL JDBCを使ってみた (1)

JBoss 4.2 ではデフォルトのDBがJBoss付属のhsqldbとなっているが、アプリケーションごとに個別にDBを設定する手法も試しておきたかったので、PostgreSQLJDBCドライバを使って接続してみた。使用したPostgreSQLのバージョンはFedora11に付属の版で、postgresql-8.3.7-1.fc11.x86_64 である。

アプリケーションとしては、jboss-seam 2.0.2.SP1に付属していたjboss-seam-blog.ear を使用した。このアプリをantでdeployすると、EARと同時に blog-ds.xmlというデータソース設定用のファイルを提供するが、この中身は hsqldb の設定がしてある。 これをPostgreSQLに設定し直すには、
1. PostgreSQLドライバの導入
2. PsotgreSQL 側でのDB, 接続ユーザー作成
3. blog-ds.xml の設定変更が必要となる。

1: http://jdbc.postgresql.org/download.html からJDBC4のドライバをダウンロードして、 JBOSS_HOME/server/default/lib にコピーした。
2:

[postgres]$ createdb jboss
[postgres]$ createuser jbossusr1 -P

3: blog-ds.xml内の 部分を次のように書き換えた。詳細については、 JBOSS_HOME/docs/examples/jca/postgres-ds.xml を参照


    
        blogDatasource
        jdbc:postgresql://127.0.0.1:5432/jboss
        org.postgresql.Driver
        jbossusr1
        xxx
    

127.0.0.1 の部分をlocalhostとすると、IPv6が使用され接続できなくなるので注意。 :orz: また、password は、ユーザー作成時に指定したパスワードを使用する。

この状態でblog-ds.xml , EARファイルをdeploy/ 以下にコピーし、エントリーの追加とともにPostgreSQLの中身が書き換えられることを確認できた。同様の方法で他のDBにも接続ができるようになりそうである。