注:この Java Plug-in ガイドでは、Java SE 6 update 10 リリースより前にリリースされた機能について説明します。最新情報については、Java Rich Internet Application の開発および配備を参照してください。

< 目次

アプレットキャッシュ

このセクションでは、次のトピックについて説明します。

キャッシュオプション

アプレットをキャッシュすると、再度参照する際にアプレットをダウンロードする必要がなくなります。これにより、アプレットの起動時間が短縮されます。Java Plug-in のアプレットによって使用されるすべてのファイルタイプがキャッシュされるようになりました。

アプレットキャッシングの新しい方式が提供されました。この方法では、アプレットを配布する際、アプレットを「スティッキー」にするべきかどうかを判断できます。スティッキーなアプレットは、Java Plug-in によって作成および制御され、ブラウザによって上書きされないディスクキャッシュ内に格納されます。スティッキーなアプレットがダウンロードされるのは、アプレットがサーバー上で更新された場合だけです。アプレットが更新されないかぎり、常に高速で読み込むことができます。コアビジネスアプリケーションを提供するアプレットは、起動時のパフォーマンスを改善するため、スティッキーにすることをお勧めします。

この新機能は、次に示すように、OBJECT/EMBED タグに新しい値 cache_archivecache_version、および cache_archive_ex を含めることによって有効になります。

注:

archive 属性で指定される .jar ファイルも、このスティッキーキャッシュにキャッシュされます。

cache_archive

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

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

APPLET タグの archive 属性と同様に、cache_archive 属性の .jar ファイルのリストには完全な URL は含まれていませんが、常に codebase からダウンロードされます。

cache_version

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

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

各バージョン番号は、xxxx.xxxx.xxxx.xxxx の形式になります (x は 16 進数)。各バージョン番号は、cache_archive 内の各 .jar ファイルに対応します。

cache_archive_ex

.jar ファイルの事前ロードを許可するために、HTML パラメータ cache_archive_ex を使用できます。このパラメータでは .jar ファイルを事前ロードする必要があるかどうかを指定でき、オプションで .jar ファイルのバージョンも指定できます。cache_archive_exVALUE の形式は、次のとおりです。

VALUE="<jar_file_name>;<preload(optional)>;<jar_file_version(optional)>,<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.2A.1, 0.3D.22.FFFE">
<PARAM NAME="cache_archive_ex" VALUE="applet.jar;preload, util.jar;preload;0.9.0.AC1, tools.jar;0.9.8.7F">
</OBJECT>

上の例では、a.jararchive 内で指定されていますが、b.jarc.jar、および d.jarcache_archive 内で指定されています。b.jarc.jar、および d.jar のバージョンもそれぞれ 0.0.0.10.0.2A.1、および 0.3D.22.FFFE と指定されています。cache_archive_ex では、applet.jar を事前ロードするように指定されています。util.jar も事前ロードするように指定されていますが、バージョンも指定されています。tools.jar については、バージョンだけが指定されています。

Java Plug-in は、HTML パラメータ cache_archive で指定されている .jar ファイルすべてのバージョンが指定されていなければ、バージョンを比較しません。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 属性を指定しない場合、次の状況でアプレットキャッシュが更新されます。

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

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

cache_version を使用する場合、cache_archive に対応した cache_version が、アプレットキャッシュにローカルに格納されたものよりも大きいと、アプレットキャッシュが更新されます。バージョン番号は更新をトリガーするために使用されます。実際のバージョン番号は Web サーバーの .jar ファイルには添付されません。実際、更新のトリガーにバージョンが使用されない場合には、Web サーバー上のアプレットを cache_archive 内にアプレットがなくても更新できることはあり得ます。

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

セキュリティー

スティッキーなアプレットはローカルにキャッシュされますが、それでも元のコードベースおよび署名者が定義したセキュリティーポリシーには準拠します。

バージョン管理のサポート

Java Plug-in 6 のアプレットは、HTML ファイル内にリストされている JAR リソースを起動するために JNLP バージョンダウンロードプロトコルを使用できます。バージョン管理は、JarDiff もサポートします。バージョン管理サポートを使用するには、archive_x タグを使用します。x は、番号を指定します。archive_x タグの構文を次に示します。

archive_x タグを使用できるさまざまな方法を、次に示します。

<PARAM NAME="archive_1" VALUE="a.jar, preload, version=2.0+">

<PARAM NAME="archive_1" VALUE="a.jar, preload, version=2.0*">
<PARAM NAME="archive_2" VALUE="b.jar, version=0.0.0.3">

注:

アプレットに archive_x タグが指定された場合、古いスタイルのタグ (cache_archivecache_versioncache_archive_ex) は無視されます。

JNLP スタイルバージョンサポートを使用するアプレットは、JNLPDownloadServlet を使用してアプレットリソースをホストするようにしてください。JNLP Version Download プロトコルおよび JNLPDownloadServlet の詳細は、「JNLP ガイド」を参照してください。

既知の問題

 


Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.