Oracle JInitiator
B.3 Oracle JInitiator FAQ
B.3.5 キャッシュ書込み キャッシュ書込み キャッシュ書込み キャッシュ書込み
Oracle JInitiatorは、アプリケーション実行時にダウンロードされたは、アプリケーション実行時にダウンロードされたは、アプリケーション実行時にダウンロードされたは、アプリケーション実行時にダウンロードされたJavaクラス・ファイルクラス・ファイルクラス・ファイルクラス・ファイル をキャッシュ書込みできますか
をキャッシュ書込みできますかをキャッシュ書込みできますか
をキャッシュ書込みできますか?キャッシュ書込みできる場合、キャッシュ書込みできる場合、キャッシュ書込みできる場合、キャッシュ書込みできる場合、Javaクラス・ファイルは一クラス・ファイルは一クラス・ファイルは一クラス・ファイルは一 回のみダウンロードされ、アプリケーションが起動されるたびにダウンロードされないので 回のみダウンロードされ、アプリケーションが起動されるたびにダウンロードされないので回のみダウンロードされ、アプリケーションが起動されるたびにダウンロードされないので 回のみダウンロードされ、アプリケーションが起動されるたびにダウンロードされないので すか
すかすか すか?
はい。Oracle JInitiatorでは、Javaアプリケーション実行時にダウンロードするJARファイ ル用の持続キャッシュ書込みメカニズムが提供されます。JARファイルは、Javaアプリケー
ションによって使用される一連のJavaクラス・ファイルを含む標準Javaアーカイブです。
必要な各クラス・ファイルを複数回ダウンロードするのではなく、すべての必要なクラス・
ファイルを1つのJARファイルに入れることにより、ダウンロードは一度ですみます。
Oracle JInitiatorはJARファイルをクライアントにキャッシュ書込みすることにより、アプ
リケーションで必要になるたびにJARファイルをダウンロードする必要性が少なくなりま す。JARファイルが最初に必要になったとき、Webサーバーからダウンロードされ、ローカ ル・クライアント・マシンに保存されます。JARファイルが次に必要になったとき、Oracle
JInitiatorはJARファイルが格納されているかどうかを確認するためにキャッシュ・ディレ
クトリを調べます。格納されている場合、これをローカル・ディレクトリから使用し、ファ イルをWebサーバーから再ダウンロードしません。これにより、ユーザーの多くの時間お よび一般に使用されるアプリケーションのネットワーク・トラフィックを節約できます。た とえば、アプリケーションが2MBのJARファイルを使用しており、2MBのファイルを5秒 でダウンロードできる高速イーサネット接続を使用する場合、アプリケーション起動時に5 秒節約できます。2MBのファイルをダウンロードするのに10分を要する低速ダイアルアッ プ・ネットワークで実行する場合、アプリケーション起動時に10分節約できます。
Oracle JInitiatorキャッシュ書込みテクノロジはどのようにして機能するのですかキャッシュ書込みテクノロジはどのようにして機能するのですかキャッシュ書込みテクノロジはどのようにして機能するのですかキャッシュ書込みテクノロジはどのようにして機能するのですか?
Oracle JInitiatorでは、ブラウザのセッションとは無関係にJARファイルをキャッシュに書
き込みます。Oracle JInitiatorは、ダウンロードされたJARファイルをローカル・クライア ント・マシンに格納します。したがって、次にJARファイルが必要なときにダウンロードす る必要がありません。
JARファイルが要求されたとき、Oracle JInitiatorはJARファイルが前回要求され、ダウン ロードされ、格納されていないかどうかを確認するために、キャッシュ・ディレクトリを チェックします。JARファイルが存在しない場合、Oracle JInitiatorはJARファイルをWeb サーバーからダウンロードし、次回使用するためにキャッシュに格納します。キャッシュ・
ファイルには、Oracle JInitiatorがJARファイル、およびWebサーバーによって報告される 要求ファイルの最終変更日付を一意に識別するための追加情報が格納されています。
キャッシュにJARファイルが存在する場合、格納されたJARファイルが現行のものである かどうかを確認するために、Webサーバーをチェックする必要があります。Oracle
JInitiatorはキャッシュ書込みされたJARファイルに含まれる最終変更日付を調べ、サー
バー上のJARファイルが変更されているかどうかをWebサーバーに確認します(標準 HTTP相互作用を使用)。Webサーバーは、サーバーに格納されたファイルの最終変更日付 およびタイムスタンプを使用します。続いて、ステータス・コード200で新しいファイルを
Oracle JInitiatorに提供します。または、ステータス・コード304を戻します。これは、
キャッシュ内のファイルが現行のものであることを示します。
キャッシュ書込みされたJARファイルが現行のものではない場合、新しいファイルがダウン ロードされ、次回使用するためにキャッシュ・ディレクトリに格納されます。ファイルが現 行のものである場合、Oracle JInitiatorはこのファイルをキャッシュ・ディレクトリからロー ドし、前回使用されたことを示すために、キャッシュ書込みされたファイルのタイムスタン プを更新します。
キャッシュ書込みされた キャッシュ書込みされたキャッシュ書込みされた
キャッシュ書込みされたJARファイルはどこに格納されるのですかファイルはどこに格納されるのですかファイルはどこに格納されるのですかファイルはどこに格納されるのですか?
デフォルトでは、Oracle JInitiatorはダウンロードされたJARファイルをOracle JInitiatorイ ンストール・ディレクトリの下のjcacheサブディレクトリに格納します。
なぜ、なぜ、なぜ、
なぜ、jcacheディレクトリには、キャッシュ書込みされたディレクトリには、キャッシュ書込みされたディレクトリには、キャッシュ書込みされたディレクトリには、キャッシュ書込みされたJARファイルの見慣れない名前ファイルの見慣れない名前ファイルの見慣れない名前ファイルの見慣れない名前 が含まれているのですか
が含まれているのですかが含まれているのですか が含まれているのですか?
Webサーバー上の各JARはURL(URL = codebase + JAR filename)によって識別されるの で、Oracle JInitiatorのキャッシュ書込みメカニズムではこれを使用して、JARファイルを 一意に識別します。Windowsオペレーティング・システムでは、完全なURLは有効なファ イル名ではないので、Oracle JInitiatorは単純なハッシング・アルゴリズムを使用して、これ を有効なファイル名に変更してから、格納JARファイル名として使用します。JARファイル のリクエストが行われた場合、Oracle JInitiatorは完全なURLに対してハッシング・アルゴ リズムを実行し、キャッシュ内に結果として生じるファイル名が存在するかどうかをチェッ クします。
JARファイル・キャッシュ書込みはどのようにサーバー・ロード・バランシングを処理するファイル・キャッシュ書込みはどのようにサーバー・ロード・バランシングを処理するファイル・キャッシュ書込みはどのようにサーバー・ロード・バランシングを処理するファイル・キャッシュ書込みはどのようにサーバー・ロード・バランシングを処理する のですか
のですかのですか のですか?
前述したように、キャッシュ内のJARファイルは、取り出されたURLに基づいて識別され ます。したがって、異なるサーバー上にある同じJARファイルは、各サーバーからダウン ロードされます。セキュリティおよびアプリケーションの整合性を保証するために、これは 意識的に行われます。JARファイルが名前のみを使用してキャッシュ書込みされている場 合、不正なアプリケーションが他のアプリケーションのJARファイルを置換することがあり ます。オリジナルのアプリケーションが実行されている場合、Javaクラス・ファイルは異な ります。また、JARファイルは一意の名前を持つことが保証されていないので、JARファイ ルが衝突することがあります。これは、2つの異なるアプリケーションが同じJARファイル 名を使用しており、JARファイルからの異なるクラス・ファイルが必要な場合に起こりま す。
Forms Developerアプリケーションを実行するたびに、キャッシュ書込みされたアプリケーションを実行するたびに、キャッシュ書込みされたアプリケーションを実行するたびに、キャッシュ書込みされたアプリケーションを実行するたびに、キャッシュ書込みされたJARファファファファ イルのタイムスタンプが更新されているようです。
イルのタイムスタンプが更新されているようです。イルのタイムスタンプが更新されているようです。
イルのタイムスタンプが更新されているようです。これは正常ですかこれは正常ですかこれは正常ですかこれは正常ですか?そのたびに、ファイそのたびに、ファイそのたびに、ファイそのたびに、ファイ ルがダウンロードされているということですか
ルがダウンロードされているということですかルがダウンロードされているということですか ルがダウンロードされているということですか?
いいえ。Oracle JInitiatorでは、構成変更可能なキャッシュ最大サイズがサポートされていま す。キャッシュ書込みされたJARファイルが使用されるたびに、Oracle JInitiatorはキャッ シュ書込みされたファイルが前回使用された日時を示すために、タイムスタンプを更新しま す。
キャッシュ・サイズが、最大キャッシュ・サイズを維持するためにファイル削除が必要にな る程度まで大きくなった場合、Oracle JInitiatorはキャッシュ・ファイルのタイムスタンプを 使用して、最も以前に使用されたファイルを判断し、そのファイルを削除します。
キャッシュが正しく機能していること、および キャッシュが正しく機能していること、およびキャッシュが正しく機能していること、および
キャッシュが正しく機能していること、およびJARファイルが常にダウンロードされていファイルが常にダウンロードされていファイルが常にダウンロードされていファイルが常にダウンロードされてい るわけではないことがどうしたらわかるのですか
るわけではないことがどうしたらわかるのですかるわけではないことがどうしたらわかるのですか るわけではないことがどうしたらわかるのですか?
Oracle JInitiatorが必要なファイルをダウンロードする必要がある場合、Forms Developerア
プリケーションを実行するように構成されたWebサーバーを使用します。最新のWebサー バーでは、ダウンロードされたファイル、ダウンロードしたユーザー、およびダウンロード 日時を追跡できるログ・ファイルの使用がサポートされています。Webサーバーのログ・