- PR -

WAS5.0でデータソースの設定

投稿者投稿内容
skulker
常連さん
会議室デビュー日: 2003/11/13
投稿数: 41
投稿日時: 2004-01-14 08:14
WAS Version 6 の Technology Preview が US サイトでダウンロードできますよ。
J2EE 1.4 です。
WebSphere は WebLogic よりはサイクルは長いと思います。

リソース参照のバインディングは、WAS5.0 でもブラウザの管理コンソールからデプロイ時に設定できると思いますが。
On
会議室デビュー日: 2004/04/05
投稿数: 4
お住まい・勤務地: 千葉
投稿日時: 2004-04-14 17:54
初めて投稿させていただきます。

一番最初の話に戻ってしまいますが、
>リソース参照 jdbc/**** が見つかりませんでした。
>そのため、次のデフォルト値が使用されます: [Resource-ref settings]」
WAS のバージョン5以降からは、JNDI 名を”java:comp/jdbc/〜”にしないと、
このメッセージが表示され、デフォルト設定扱いになってしまいます。

ですので、データソースの JNDI 名を”java:comp/jdbc/〜”とすることで、
最初の問題は解決できると思います。
On
会議室デビュー日: 2004/04/05
投稿数: 4
お住まい・勤務地: 千葉
投稿日時: 2004-04-16 16:22
すみません。いい加減なレスをしていました。

設定手順を調査し直し、実際に動作確認を行い、解決方法を見つけました。
以下に、一通りの設定手順をまとめてみました。

(1)サーバーへデータソースを登録する。
   サーバー設定で、使用するデータソースを定義して登録します。

(2)web.xml で リソース参照を定義する。
   <resource-ref>タグを使用して、上記(1)の参照情報を定義します。

ここまでの手順で、lookup() メソッドで "jdbc/xxx" 形式の引数を与えて
データソースを取得することが可能になります。

ですが、ここまでの設定のみですと、"java:comp/env/jdbc/xxx"形式の引数で
lookup() メソッドを呼び出しますと、先の NameNotFoundException が発生して
しまいます。

これを回避するためには、web.xml のリソース参照と、サーバーへ登録したリソースとを
バインドする必要があります。

両者をバインドするためには、WSADの「ディプロイメント・ディスクリプタ」で web.xml
を開き、「参照」タブの上記「リソース」タブを選択し、「WebShereバインディング」欄で
「JNDI名」を指定してください。

この手続きを踏むことで、WAS で "java:comp/env/jdbc/xxx"形式の引数でオブジェクトの
lookup が可能になります。

あと、WAS V5 から、InitialContext 生成時の InitialContextFactory の指定が不要に
なりましたので、ご参考までに。
On
会議室デビュー日: 2004/04/05
投稿数: 4
お住まい・勤務地: 千葉
投稿日時: 2004-04-21 15:53
追記です。

”WLTC0033E”のエラーが出る場合ですが、コネクションをクローズする前に
ロールバックすると、このエラーは出なくなります。

ただ、クローズ直前に必ずロールバックをしなければいけない仕様となっているのか
どうかについては、どこにも記述は見つけられませんでした。
WAS V5 では必要なのでしょうか?
skulker
常連さん
会議室デビュー日: 2003/11/13
投稿数: 41
投稿日時: 2004-04-21 19:16
http://www-1.ibm.com/support/docview.wss?rs=180&context=SSEQTP&q1=WLTC0033E&uid=swg21141640&loc=en_US&cs=utf-8&lang=en+en

これですかね。
On
会議室デビュー日: 2004/04/05
投稿数: 4
お住まい・勤務地: 千葉
投稿日時: 2004-04-22 10:09
skulker さん、ご回答ありがとうございました。
上記の記事のおかげで、一連の疑問を解決することができました。

スキルアップ/キャリアアップ(JOB@IT)