- - PR -
WAS5.0でデータソースの設定
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-01-08 14:16
えっ、そうなんですか?確かに、web.xmlにはresource-refは定義しておりません。 早速、設定し直して、実行してみます。 | ||||
|
投稿日時: 2004-01-08 15:34
すいません、ちょっと時間がかかりました。 先程の指摘いただいたweb.xmlのresource-refに以下のように設定をし、 再度実行しました。 ・web.xml <resource-ref> <res-ref-name>jdbc/xxxOracle</res-ref-name> <res-type>oracle.jdbc.pool.OracleConnectionPoolDataSource</res-type> <res-auth>Container</res-auth> </resource-ref> System.outログを見てみると、以下のように出力されていました。 やはりDBには接続できない状態です。 [04/01/08 15:11:52:438 JST] 6c47622c PrivExAction W J2CA0114W: コンテナー管理認証エイリアスが見つかりません。 [04/01/08 15:11:52:719 JST] 6c47622c FreePool E J2CA0046E: メソッド createManagedConnctionWithMCWrapper は、 リソース jdbc/xxxOracle に対する ManagedConnection の作成中、例外をキャッチし、 ResourceAllocationException をスローしました。 オリジナル例外: com.ibm.ws.exception.WsException:Subject was not null but no valid credentials were found [04/01/08 15:11:52:891 JST] 6c47622c ConnectionMan E J2CA0020E: 接続プール・マネージャーは管理接続を割り振りできませんでした: javax.resource.spi.ResourceAllocationException: Caught ResourceException thrown during creation of the ManagedConnection. また、 ・web.xml <resource-ref> <res-type>oracle.jdbc.pool.OracleDataSource</res-type> </resource-ref> インプリメンテーション・クラス名 :oracle.jdbc.pool.OracleDataSource に変更して、再度実行してみましたが、結果は同じでした。 [ メッセージ編集済み 編集者: ゴン太 編集日時 2004-01-08 15:42 ] | ||||
|
投稿日時: 2004-01-08 16:38
Websphere V5は扱ったことがないのですが、かなりV4から変わっているようですね。
まず、以下を読んで設定しなおしてみてください。 http://www.ibm.com/jp/software/websphere/developer/wv5/anouncement/pdf/6_1.pdf | ||||
|
投稿日時: 2004-01-08 17:31
そうなんですか・・・。 V3.5からV4に移ったときもかなり変わってたのに・・・。 ちらっと見てみましたが、確かに違う・・・。 | ||||
|
投稿日時: 2004-01-08 17:43
ありがとうございます。
確かに変わってますよね。私もWASの3.5は扱ったことがあるのですが、 それでも5.0はかなり違うツールに感じます。 6_1.pdf シリーズは以前読んでいて、内容にある設定も試してみたのですが、 結果は、やっぱり同じ状況でした。 | ||||
|
投稿日時: 2004-01-09 09:41
トライアル版は使った事がなく、製品版の 5.0.2 しか知らないのですが・・・
・JDBCドライバのバージョン正しいですか? XA用のドライバを入れてませんか? ・2フェーズコミットがしたいならドライバだけでなくデータソースもXA対応にしないと駄目です。 ・Oracle JDBC Thin Driver は deprecated です。Oracle JDBC Driver にしましょう。 ・データソースのImplクラスはoracle.jdbc.pool.OracleConnectionPoolDataSourceで正しいです。これはWASのデフォルト値なので、いじらない方が幸せ。 ・DDでリソース参照を指定せず、アプリケーションからいきなりjdbc/XXXのグローバルJNDI名でlookupしても動作には特に問題ないようですが、アプリケーションからはローカル参照(java:comp/env/XXX)を指定し、DDでグローバル名と紐付けるのが推奨されてます。 | ||||
|
投稿日時: 2004-01-09 11:28
WebSphereの設定に問題があるのか、アプリケーション側に
問題があるのかを特定してみた方がいいのかもしれませんね。 そのためにまず、WebSphereの設定を見てみたほうがいいと思います。 dumpNameSpaceは試してみたでしょうか? [WASインストールディレクトリ]/AppServer/binに 上記ツールが存在しますので、確認してみてください。 JNDIに登録されているものが表示されるはずです。 そこで、作成したデータソースが表示されていなければ、 データソースの設定に問題があると思われます。 | ||||
|
投稿日時: 2004-01-09 13:23
ありがとうございます。dumpNameSpaceにて調査したところ、 以下のように反応が返ってきました。 (最上位)/nodes/<当環境のホスト名>/servers/server1/jdbc/xxxOracle xxxDataSource ですので、データソースのバインドは問題ないかと判断します・・・。 [ メッセージ編集済み 編集者: ゴン太 編集日時 2004-01-09 13:24 ] | ||||
