인터넷을 통해 SaaS 스키마 (클라우드)에 제공되는 리치 인터넷 애플리케이션이 있습니다. Java Web Start를 통해 애플리케이션이 배포됩니다. 사용자는 공급자 사이트 (http://somesite.com/myapp/myapp.jnlp)에 대한 JNLP 파일을 가리키는 링크를 클릭합니다. 응용 프로그램이 다운로드되고 로컬 캐시됩니다 (클라이언트의 Java 제어판에서 응용 프로그램이 약 40MB라는 것을 알 수 있습니다). 서버 측에서 변경 사항이 발생하지 않으면 클라이언트는 캐시 된 버전을 사용합니다. 새 서버 버전이 출시되면 가능한 문제가 발생할 수 있습니다. 즉 모든 클라이언트 (수백 명)가 동시에 새 버전을 다운로드 할 수 있습니다. 이 문제를 방지하기 위해 웹 프록시를 캐시로 사용할 가능성을 탐구하고 싶습니다. 첫 번째 클라이언트가 인터넷에서 새 버전을 다운로드하고 다른 클라이언트는 웹 프록시에 캐시 된 버전을 다운로드합니다. 이것이 가능합니까? Java 컨트롤 패널에서 Java 캐시 뷰어 (Win XP의 Java 6)를 볼 때 '애플리케이션보기'에서 1 개의 애플리케이션 (40 MB)을 볼 수 있으며, 일부 JAR은 전환 할 때 '리소스 뷰'로 이동하지만 실제로 캐시를 호스팅하는 디스크 위치로 이동하면 많은 폴더 (대부분 비어 있음)와 .idx 파일 (JAR 추적 없음)이 표시됩니다. 웹 프록시 (Forefront TMG)가 공급자 사이트에서 오는 일련의 파일 (확장명? 확장명?) 만 캐시하도록하는 것이 아이디어입니다. 나는 캐싱 옵션을 JNLP 파일 적힌 정리 된 버전을 첨부,하지만 나는 그들이 내 질문에 관련이없는 생각들이 클라이언트의 캐싱 옵션의 거래 (오른쪽?)Java Web Start 및 웹 프록시 캐싱
<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>
감사