Solaris Java Plug-in ユーザーズガイド

キャッシュオプション

バージョン 1.4 リリースでは、新しい形式のアプレットキャッシュが導入されました。アプレットを配備する際、アプレットを「固定」に (ブラウザが上書きできない二次ディスクキャッシュに配置) するかどうかを決定できます。 キャッシュ後に固定アプレットがダウンロードされるのは、サーバ上でアプレットが更新された場合だけです。 それ以外の場合、常にアプレットの高速なロードが可能です。コアビジネスアプリケーションを提供するアプレットは固定にして、起動時のパフォーマンスを改善する必要があります。

いったんアプレットがキャッシュされると、アプレットを再度参照する際、ダウンロードする必要がなくなります。このため、パフォーマンスが改善されます。

この新機能は、次に示すように、Java Plug-in の使用を指定する OBJECT タグまたは EMBED タグに新しく cache_archivecache_version、および cache_archive_ex 値を含めることでアクティブにできます。

cache_archive

cache_archive 属性には、キャッシュするファイルのリストを含めます。


<PARAM NAME="cache_archive" VALUE="a.jar,b.jar,c.jar">

APPLET タグのアーカイブ属性と同様、cache_archive 属性内の jar ファイルのリストには絶対 URL は含まれず、EMBED タグまたは OBJECT タグに指定されたコードベースから常にダウンロードされます。

cache_archive 属性内および archive 属性内の .jar ファイルのリストは同じように見えますが、同じ .jar ファイルを両方に含めることはできません。

cache_version

cache_version は、オプション属性です。 使用する場合は、キャッシュするファイルバージョンのリストを含めます。


<PARAM NAME="cache_version" VALUE="1.2.0.1, 2.1.1.2, 1.1.2.7">

各バージョン番号は、X.X.X.X の形式で指定します。ここで、X は 16 進数です。各バージョン番号は、cache_archive 内の各 .jar ファイルに対応します。

cache_archive

jar ファイルのプリロードを可能にするため、HTML パラメータ cache_archive_ex を使用できます。このパラメータを使用して、jar ファイルをプリロードする必要があるかどうかを指定できます。また、jar ファイルのバージョンの指定も可能です。 cache_archive_ex の値は、次の形式で指定します。


cache_archive_ex =
"<jar_file_name>;<preload(optional)>;<jar_file_version>,<jar_file_name>;
<preload(optional>;<jar_file_version(optional>,...."

preload jar_file_version のようなオプションタグは、 jar_file_name の後に区切り文字 「;」で区切って任意の順序で指定できます。 以下に、これらのタグを HTML ページ内で使用する方法を示します。


<OBJECT ....>
<PARAM NAME="archive" VALUE="a.jar">
<PARAM NAME="cache_archive" VALUE="b.jar, c.jar, d.jar">
<PARAM NAME="cache_version" VALUE="0.0.0.1, 0.0.A.B, 0.A.B.C">
<PARAM NAME="cache_archive_ex" VALUE="applet.jar;preload,
util.jar;preload;0.9.0.abc, tools.jar;0.9.8.7">

上の例では、a.jararchive 内で指定され、b.jarc.jar、および d.jar cache_archive 内で指定されています。 b.jarc.jar、および d.jar には、それぞれバージョン 0.0.0.10.0.A.B、および 0.A.B.C も指定されています。 cache_archive_ex では、 applet.jar のプリロードが指定されています。 util.jar のプリロードも指定されていますが、バージョンも同時に指定されています。 tools.jar は、バージョンだけが指定されています。

HTML パラメータ cache_archive 内に指定されたすべての jar ファイルにバージョンが指定されていない限り、Java Plug-in は、バージョンを比較しません。 cache_archivecache_version なしで使用する場合、cache_archive で指定された jar ファイルは、HTML パラメータ archive で指定された jar ファイルとまったく同様に扱われます。 プリロードおよびバージョンオプションが指定されていない場合、同様の扱いが cache_archive_ex で指定された jar ファイルに対しても適用されます。

HTML パラメータで指定された .jar ファイルから、次の順序でクラスファイルおよびリソースの検索が行われます。

  1. cache_archive_ex

  2. cache_archive

  3. archive

キャッシュの更新アルゴリズム

デフォルトでは、cache_version 属性が存在しないと、次のいずれかの場合にアプレットキャッシュが更新されます。

ただし、状況によっては、Web サーバから HTTP/HTTPS 経由で返される「Last-Modified」値が、アプレットの実際のバージョンを反映していない場合があります。たとえば、Web サーバがクラッシュしてすべてのファイルが復元された場合、サーバ上の cache_archive は異なる修正日を保持します。 cache_archive が更新されていない場合でも、すべての Java Plug-in クライアントに cache_archive の再ダウンロードが要求されます。

バージョンの更新を強制的に実行する場合は、アプレットの配備時に cache_version 属性を使用することをお勧めします。

cache_version を使用する場合、EMBED タグおよび OBJECT タグ内の cache_archivecache_version がローカルのアプレットキャッシュに格納されたものよりも番号が大きいと、アプレットキャッシュが更新されます。 バージョン番号が、更新の起動に使用されることに注意してください。Web サーバ上の .jar ファイルに実際のバージョン番号が付けられているのではありません。 実際のところ、更新の起動にバージョンが使用されていない場合、cache_archive 内のアプレットなしで Web サーバ上のアプレットを更新することが可能です。

cache_version を使用することにより、Web サーバに接続して cache_archive の「Last-Modified」および「Content-Length」を取得する必要がなくなります。 たいていの場合、これによりパフォーマンスが向上します。