- - PR -
J2EEでいうところの”キャッシュする”場所とは?
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-12-05 18:03
本日は疑問がありまして投稿いたしました。
よくものの本等で、 「JNDIのlookupはコストのかかる処理なので一度取得したオブジェクトをキャッシュすることにより、パフォーマンスが向上します。」 などという記述を目にします。(おかしな表現がありましたら申し訳ありません。) こういった表現で出てくるキャッシュとは、どのような実装を指すのでしょうか? 私がイメージできるのは、 @ServletContextへのセット AServletのstaticフィールドへのセット といった部分なのですが、通常どのように実装されていますか? | ||||
|
投稿日時: 2003-12-05 18:25
こういうことですかね。 http://www-6.ibm.com/jp/developerworks/java/021122/j_j-ejb0924.html ServiceLocatorというJ2EEパターンの一つでもあります。 | ||||
|
投稿日時: 2003-12-08 20:56
ukさん、ご丁寧な回答ありがとうございました。
リンク先を拝見し、JNDIについては解決しました。 もう一点疑問に思っているのは、独自リソースのキャッシュ先です。 例えば、XMLツリーなどを読み込んでアプリケーション内で再利用 する場合、どこに格納するものでしょうか。 Strutsもどきの独自FWを作っているのですが、そういったリソースの キャッシュ方法について現在考え中です。 アイデアをお持ちの方がいらっしゃいましたら教えて下さい。 | ||||
|
投稿日時: 2003-12-09 07:05
Singletonなどを利用してファクトリクラスでキャッシュするのが一般的かと。
注意点としてはちゃんとスレッドセーフに書くことですかね。 | ||||
|
投稿日時: 2003-12-09 12:28
アプリケーション全体で利用するのならそうですね。 特定のクラス内で使用するならそのクラス内にキャッシュを持てばいいと思いますが。 | ||||
1
