argius note

プログラミング関連

GlassFish v3 データソースの設定(PostgreSQLの例)

ごく簡単に説明。lang=enの環境で試しているので、日本語は間違っているかも。

なお、JDBC接続のパラメータは

URL=jdbc:postgresql://localhost:5432:defaultdb
user=user
password=password

とします。

  1. 起動中のドメイン(%glassfish%/domains/domain1/)のlibにpostgreのJDBCドライバを置いてドメインを再起動する。(libはデフォルトでは存在しないのでなければmkdirする)
  2. ツリーのリソース→JDBC→接続プールを選択し、新規ボタンを押す。
  3. ステップ1:名前=PostPool(任意)、リソースタイプ=javax.sql.DataSource、ベンダ=PostgreSQLを選択・入力し次へボタンを押す。
  4. ステップ2:データソースクラスのプルダウンがorg.postgresql.ds.PGSimpleDataSourceとなっていることを確認。プルダウンにデータソースのFQCNが表示されていない場合は、おそらくクラスパスにJDBCドライバが正しく設定されていない。

ページの下の方にプロパティ設定欄があるので、以下の項目を入力。他はそのままで良い。

    • PortNumber=5432
    • DatabaseName=postgres (ここではまった。defaultdbが使えない!defaultdbが指しているのはpostgres)
    • User=user
    • Password=password
  1. 完了ボタンを押すと、接続プールページにPostPoolが表示される
  2. PostPoolリンクをクリックし、追加プロパティタブのページを開き、以下の設定をする
    • ServerName=localhostとなっているが、プロパティ名の先頭に何文字か追加(例:"__ServerName")し、保存。Pingでエラーになったら、もう1文字追加してみる。(ここでもはまった。何故こうなるかは不明。バージョンアップで直っているかも)
  3. 基本タブページを開き、Pingボタンで接続できることを確認。(Ping 成功と表示されたらOK)
  4. あとはリソース→JDBCJDBCリソースでJNDI名と接続プールを結びつける設定を追加する。(詳細は割愛)

これでデータソースを取得することができるようになりました。