インターネット経由で SaaS スキーマ (クラウド) で提供されるリッチ インターネット アプリケーションがあります。アプリケーションは Java Web Start を介してデプロイされます。ユーザーは、プロバイダ サイトへの JNLP ファイルを指すリンクをクリックします ( http://somesite.com/myapp/myapp.jnlp); 次に、アプリケーションがダウンロードされ、ローカルにキャッシュされます (クライアントの Java コントロール パネルから、アプリケーションが約 40 MB であることがわかります)。サーバー側の変更が発生しない場合、クライアントはキャッシュされたバージョンを使用することを期待しています。サーバーの新しいバージョンがリリースされると、問題が発生する可能性があります。すべてのクライアント (数百) が新しいバージョンを同時にダウンロードする可能性があります。この問題を回避するために、Web プロキシをキャッシュとして使用する可能性を検討したいと思います。最初のクライアントはインターネットから新しいバージョンをダウンロードし、他のクライアントは Web プロキシにキャッシュされたバージョンをダウンロードします。これは実現可能ですか?主に、Java コントロール パネル --> Java キャッシュ ビューアー (Win XP の Java 6) から、「アプリケーション ビュー」に 1 つのアプリケーション (40 MB) が表示され、切り替えるといくつかの JAR が表示されるため、いくつかの疑問があります。 「リソース ビュー」に、しかし、キャッシュを物理的にホストするはずのディスクの場所に移動すると、多くのフォルダー (ほとんどが空) と .idx ファイル (JAR の痕跡なし) が表示されます。アイデアは、Web プロキシ (Forefront TMG) に、プロバイダーのサイトから来る一連のファイル (どのファイル? どの拡張子?) のみをキャッシュするように指示することです。JNLPファイルのクレンジングされたバージョンをキャッシングオプション付きで添付しますが、クライアントのキャッシングオプションしか扱っていないので、私の質問には関係ないと思います(そうですか?)
<jnlp spec="1.0+" codebase="http://somesite.com/myapp/" href="http://somesite.com/myapp/WebStart.jnlp">
<information>
<title>....</title>
<vendor>....</vendor>
<homepage href="http://somesite.com"/>
<description>....</description>
<icon href="http://....gif" kind="default"/>
<shortcut online="true" install="false">
<desktop/>
<menu submenu="...."/>
</shortcut>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<update check="timeout" policy="always"/>
<resources>
<java initial-heap-size="20971520" max-heap-size="536870912" java-vm-args="-XX:MaxPermSize=128m" href="http://java.sun.com/products/autodl/j2se" version="1.6.0_11+"/>
<jar href="http://......jar" download="eager" main="false"/>
... some other JARs...
</resources>
<application-desc main-class="com.package.....">
<argument>-showSavePwd</argument>
<argument>-forcedHttpsLoginPort:443</argument>
<argument>-availableLanguages:en;fr;de;es;ja</argument>
<argument>-forceCountryByLanguage:false</argument>
</application-desc>
</jnlp>
ありがとう