LoginSignup
1
0

tWAS 9.0 と Db2 で DataSourceを使う

Posted at

目的

tWAS 9.0と、Db2 で環境を構築してDataSourceをテストします。

Gitレポジトリ

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

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

Db2イメージのビルド

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

export ACCESS_HOST=172.17.0.1
# export ACCESS_HOST=`hostname` # hostnameコマンドで返す値でアクセスできる場合
# export ACCESS_HOST=host.containers.internal # liberty から dbサーバーへの接続を podmanのホスト経由でする場合
./setup-docker.sh

tWAS9.0イメージのビルド

tWAS 9.0 イメージをビルドします。

./setup-was90.sh

Db2の起動

今回はDb2を起動します。(setup-docker.sh 後で停止していない場合は起動済みです)

docker ps # 起動状況の確認
./db2-start.sh
# ./mysql-start.sh # mysqlを起動する場合

Db2にアクセスするtWAS9.0の起動

Db2にアクセスするtWAS9.0を起動します。mysqlやDerbyへアクセスするイメージの用意はありませんが、構成をまねてみてください。

./was90-start.sh 

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

http://localhost:9080/db.connections/
にアクセスすると以下画面が確認できます。localhost部分は環境にあわせて変更します。

image.png

Simple db access test をクリックすると TABLEの作成とデータ挿入が実行されます。JPA Action Test 以下のボタンでJPAのテストができます。実行される内容は代わり映えしませんが、出力はJSONにしました。

image.png

トラブルシューティング

毎度のことですが、よくつかう dockerコマンドを書いておきます

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

docker ps # 動作中のContainer確認
docker logs -f mydb2 # ログ確認
docker restart mydb2 # 再起動
docker inspect mydb2 # container 確認
docker exec -it mydb2 bash # Container内状況確認

など試してみましょう。mydb2の部分を docker ps で確認した container の別IDにすることでtWAS9.0側も確認できます。

まとめ

tWAS9.0, Db2の環境を構築をしてテストをすることができました。

1
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
1
0