LoginSignup
3
0

Liberty といろんな DB でDataSourceをためす

Last updated at Posted at 2023-05-23

目的

Libertyと、Db2, MySQL, Derbyで環境を構築してDataSourceをテストします。

Gitレポジトリ

用意したGitレポジトリをクローンします。

git clone https://github.com/pdprof/db-connections
cd db-connections/derby-docker/

DBイメージのビルド、Libertyイメージのビルド

Libertyと、Db2, MySQL, Derbyのイメージをビルドします。localhost 以外の docker を動かしているホストのIPアドレスをACCESS_HOSTに指定します。

export ACCESS_HOST=172.17.0.1
# export ACCESS_HOST=`hostname` # hostnameコマンドで返す値でアクセスできる場合
./setup-docker.sh

MySQLの起動

MySQL以外にもDb2がありますが、ここではMySQLを起動します。今回あらたに用意したのがMySQLだからです。DerbyはLibertyのプロセス内で動作するので、Dbを別に起動する必要はありません。

./mysql-start.sh
# ./db2-start.sh # db2を起動する場合

MySQLにアクセスするLibertyの起動

MySQLにアクセスするLibertyを起動します。

./ds-mysql-start.sh
# ./ds-db2-start.sh # Db2にアクセスする場合
# ./ds-derby-start.sh # Derbyにアクセスする場合

アプリケーションにアクセスして動作確認

http://localhost:9080/db.connections/
にアクセスすると以下画面が確認できます。localhost部分はACCESS_HOSTに指定したものと置き換えます。

image.png

Simple db access test をクリックすると TABLEの作成とデータ挿入が実行されます。

image.png

Insert, Update, Delete ができるようになっているので、フォームに値を入力してボタンをクリックして動作を確認します。

トラブルシューティング

接続がうまくいかない場合は、/config/server.xml で指定したホスト名(IPアドレス)が問題ないか、DBが動作しているか確認します。DBは

docker logs -f mysqldb # ログ確認
docker restart mysqldb # 再起動
docker inspect mysqldb # container 確認
docker exec -it mysqldb bash # Container内状況確認

など試してみましょう。

まとめ

DBの環境を構築をしてテストをすることができました。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0