- PR -

DBCPのDBセッションについて

投稿者投稿内容
matobaa
常連さん
会議室デビュー日: 2002/12/26
投稿数: 21
投稿日時: 2004-10-29 13:57
すいません、さらに論点をずらしてしまいますが、
JNDIレジストリに入っているものって不変なんでしたっけ?

データソースがぶっ壊れたから新しく作り直して同じ名前で登録しなおす、といった可能性があるなら、キャッシュするのは危ないよなぁ、と単純に思うんですが。
7x24なシステムで、EJBだけ入れ替えるとか。

# まだあまり深く考えていません
シュン
ぬし
会議室デビュー日: 2004/01/06
投稿数: 328
お住まい・勤務地: 東京都
投稿日時: 2004-10-30 14:26
引用:

matobaaさんの書き込み (2004-10-29 13:57) より:
すいません、さらに論点をずらしてしまいますが、
JNDIレジストリに入っているものって不変なんでしたっけ?

データソースがぶっ壊れたから新しく作り直して同じ名前で登録しなおす、といった可能性があるなら、キャッシュするのは危ないよなぁ、と単純に思うんですが。
7x24なシステムで、EJBだけ入れ替えるとか。

# まだあまり深く考えていません



JNDIレジストリには、オブジェクトそのものを登録する場合と、オブジェクトの生成に最低限必要な情報をもつReferenceオブジェクトを登録する場合があります。
Referenceがぶら下がっていた場合は、ルックアップ処理の内部で、Referenceの内容に基づいて毎回、本物オブジェクトを生成しています。

本物オブジェクトがぶら下がっているのか、Referenceオブジェクトがぶら下がっているの
かは、bind()を呼び出したロジック依存です。APサーバはたいていbind()操作を隠蔽して
いますよね。ですので、APサーバ内のJNDIレジストリに何がぶら下がっているかは、APサ
ーバの実装依存ということになると思いますよ。

性能上重要な問題でなければ、アプリケーションレイヤでキャッシュなんぞはしないほうが
よいと思います。オンライン処理でここを削らなければならないようなことは無いような・・・
レスポンスが悪いならDBかSQLチューニングしろ、と。

lookup()呼び出しをユーティリティメソッド化するなどして切り出したほうがよい、という
話は、また別の話ですよね^^;

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