こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。
今回は、以下の2つの記事(PostgreSQL12 on Docker と Glassfish5 on Docker)の接続です。
①PostgreSQL JDBC Driverの取得
JDBCとは、Java DataBase Connectivityの略で アプリケーションからデータベースを操作するAPIです。
今回の場合、Glassfish5からPostgreSQLを操作するので専用のJDBCを、以下から取得します。
※42.2.12を使用しました。
②JDBC DriverをGlassfish5の指定ディレクトリに配置
ホストOS上にダウンロードしたファイルを、Glassfish5の稼働するコンテナへコピーします。(docker cp)
コピー先は、/glassfish5/glassfish/libディレクトリとなります。
また、配置したJDBC Driverを有効にするために、Glassfish5を再起動します。(docker restart)
③連携設定
Glassfish5のGUI管理画面にて、JDBC Connection Poolsから「New」をクリックします。
Pool Name(任意)・Resource Type(javax.sql.DataSource)・Database Driver Vendor(Postgresql)を選択し、Nextをクリックします。
続いて、下のあるAdditional Propertiesで必要な項目を定義し、Finishをクリック。
今回設定したのは、以下の5つ。
DatabaseName:testdb
PortNumber:5432
User:postgres
Password:postgres
ServerName:192.168.99.102
問題なく設定できたら、Poolsの一覧に追加されます。
④連携確認
追加したpostgresを選択し、「Ping」とあるところをクリックします。
うまく連携が出来ていると、以下のように「Ping Succeeded」となります。
接続できない場合、以下のようにエラーとなるので、Glassfish5・PostgreSQL・各種セキュリティ設定などが適切な状態になっているか確認していきましょう。