2008-09-15 3 views
6

クライアントが永遠にアプレットのバージョンをキャッシュしているように見える場合があります。 <object>タグ内に<param name="cache_version">タグを正しく使用していると思われます。 7.1.0.40のバージョン文字列を7.1.0.42に変更しました。これにより、クライアントの約半分のみがダウンロードを開始しました。Javaアプレットは永久にキャッシュされ、新しいバージョンはダウンロードされませんか?

クライアントが実行しているJREのバージョンは問題ではありません。私たちは1.4,1.5,1.6でこの問題を抱えているのを見てきました。

誰かが明示的なキャッシュバージョンの経験がありますか? cache_archiveの "Last-Modified"および/または "Content-Length"の値(Sun's Site)に頼るのは、より信頼性高く(速度を無視して)機能しますか?

はFYI、対象ブロックは、次のようになります。

<object> 
    <param name="ARCHIVE" value="foo.jar"> 
    <param name="CODE" value="com.foo.class"> 
    <param name="CODEBASE" value="."> 
    <param name="cache_archive" value="foo.jar"> 
    <param name="cache_version" value="7.1.0.40"> 
    <param name="NAME" value="FooApplet"> 
    <param name="type" value="application/x-java-applet;jpi-version=1.4.2_13"> 
    <param name="scriptable" value="true"> 
    <param name="progressbar" value="true"/> 
    <param name="boxmessage" value="Loading Web Worksheet Applet..."/> 
</object> 

答えて

9

は残念ながら、Javaプラグインの異なるバージョンが異なるキャッシュ振る舞いを持っています。 Cache-ControlとLast-Modified HTTPヘッダーを設定するのが理想的ですが、JREのthe most recent versionsでのみ動作します。

バージョンが変更されたときにアプリケーションのjarファイルの名前を変更するだけです(ファイル日付に基づいてクエリ文字列を追加するなど、他の方法を試してみると奇妙なキャッシング動作が見られます)。適切に自動化されたデプロイメントシステムを使用している場合、これはあまり難しくありません。

0

this link によると、同じjarファイルは、 "archive"と "cache_archive" params intにリストされるべきではありません。この場合、JARファイルはネイティブブラウザキャッシュを使用してキャッシュされます。

+0

リンクが壊れています。 – coderama

1

Java Control Panelを使用すると、Javaキャッシュからアプレットを削除できます。
たとえばWin XPで

Start -> Control Panel -> Java -> Temporary Internet Files[View] 
関連する問題