GlassFish v3 データソースの設定(PostgreSQLの例)
ごく簡単に説明。lang=enの環境で試しているので、日本語は間違っているかも。
なお、JDBC接続のパラメータは
URL=jdbc:postgresql://localhost:5432:defaultdb user=user password=password
とします。
- 起動中のドメイン(%glassfish%/domains/domain1/)のlibにpostgreのJDBCドライバを置いてドメインを再起動する。(libはデフォルトでは存在しないのでなければmkdirする)
- ツリーのリソース→JDBC→接続プールを選択し、新規ボタンを押す。
- ステップ1:名前=PostPool(任意)、リソースタイプ=javax.sql.DataSource、ベンダ=PostgreSQLを選択・入力し次へボタンを押す。
- ステップ2:データソースクラスのプルダウンがorg.postgresql.ds.PGSimpleDataSourceとなっていることを確認。プルダウンにデータソースのFQCNが表示されていない場合は、おそらくクラスパスにJDBCドライバが正しく設定されていない。
ページの下の方にプロパティ設定欄があるので、以下の項目を入力。他はそのままで良い。
-
- PortNumber=5432
- DatabaseName=postgres (ここではまった。defaultdbが使えない!defaultdbが指しているのはpostgres)
- User=user
- Password=password
- 完了ボタンを押すと、接続プールページにPostPoolが表示される
- PostPoolリンクをクリックし、追加プロパティタブのページを開き、以下の設定をする
- ServerName=localhostとなっているが、プロパティ名の先頭に何文字か追加(例:"__ServerName")し、保存。Pingでエラーになったら、もう1文字追加してみる。(ここでもはまった。何故こうなるかは不明。バージョンアップで直っているかも)
- 基本タブページを開き、Pingボタンで接続できることを確認。(Ping 成功と表示されたらOK)
- あとはリソース→JDBC→JDBCリソースでJNDI名と接続プールを結びつける設定を追加する。(詳細は割愛)
これでデータソースを取得することができるようになりました。