以前、JBoss のデフォルトのデータベースを DB2/400 に変更するやり方を紹介しましたが、その時は JTOpen の Type 4 ドライバーを使用しました。
今回、せっかく OS/400 上で JBoss を動かすのだったら Type 2 つまり OS/400 上でしか動かない JDBC ドライバーを使うやり方を見ていきたいと思います。
今回特別にベンチマークなどをしたわけではありませんが、確かに汎用的に TCP/IP
と Java が使えればどこでも動く Type 4 のドライバーよりは、 ローカルの OS/400
でしか稼動しない Type 2 のドライバーの方が速そうではあります。
設定自体はいたって簡単なので、Type 4 の時との変化点のみを簡単に追っていきましょう。
ここ以前の設定はすべて同じです。
JDBC ドライバー設定ファイルの中で、URL の Pre-fix と JDBC ドライバーのクラス名をそれぞれ以下のように変更します。
URL→ jdbc:db2://localhost
ドライバー名→ com.ibm.db2.jdbc.app.DB2Driver

もし前回からの変更という形でしているのでしたら、前回から残った jt400-ds.xml
は削除しておいてください。
"DefaultDS" という JNDI 名がぶつかってしまいます。
JDBC ドライバーのための設定ファイルの作成が終わったら、今度はその設定ファイル内に定義されているクラスにアクセスできるように、サーバーの構成の中にクラスパスを設定します。
OS/400 の IFS 上にある JDBC ドライバー用の jar ファイルを、サーバー構成の
lib サブディレクトリにシンボリックリンクとして定義してやることで対応します。
おわかりの方は多いと思いますけど、シンボリックリンクというのは、Windows
でいうショートカットみたいなものですね。実体はそのままもとのところにあるため、何かの
PTF などが適用されたような場合でも、その更新が有効になる、という利点があります。うっかり削除すると、本物まで消えてしまう、という欠点もありますが
...
/QIBM/ProdData/OS400/Java400/ext/db2_classes.jar、/QIBM/ProdData/OS400/Java400/ext/jdbc2_0-stdext.jar、/QIBM/ProdData/OS400/Java400/ext/jta-spec1_0_1.jar のシンボリックリンクを 3つ server/default/lib ディレクトリに作成します。

それぞれを実行するコマンドは例えばこんなかんじですね。
ADDLNK OBJ('/QIBM/ProdData/OS400/Java400/ext/db2_classes.jar') NEWLNK('/home/jboss-3.2.1/server/default/lib/db2_classes.jar')
ADDLNK OBJ('QIBM/ProdData/OS400/Java400/ext/jdbc2_0-stdext.jar') NEWLNK(' /home/jboss-3.2.1/server/default/lib/jdbc2_0-stdext.jar')
ADDLNK OBJ('/QIBM/ProdData/OS400/Java400/ext/jta-spec1_0_1.jar') NEWLNK('/home/jboss-3.2.1/server/default/lib/jta-spec1_0_1.jar')

サーバーを起動すると、以下のように JDBC ドライバーの設定ファイルがデプロイされていくのがわかります。


サーバーの起動もこころなしかかなり早く完了する気も ...
(実際にただ OS/400 で実行させた Hypersonic DB の状態より早いのは確かです)
実行例です。
実際にこれを実行して WRKSYACT コマンドか何かで見ていると、リクエストのあったときに OS/400 上で稼動するサーバージョブが変わっているのが確認できますよ。

|
|