Java-апплет кешируется навсегда, не загружая новую версию? - PullRequest
6 голосов
/ 16 сентября 2008

У нас есть случай, когда клиенты кажутся вечно кеширующими версиями апплетов. Мы правильно используем тег <param name="cache_version"> в нашем теге <object>, или мы так думаем. Мы перешли от строки версии 7.1.0.40 к 7.1.0.42, и это привело к загрузке только для примерно половины наших клиентов.

Кажется, не имеет значения, какую версию JRE использует клиент. Мы видели, что у людей есть эта проблема на 1.4, 1.5 и 1.6.

Кто-нибудь имеет опыт работы с явными версиями кеша? Работает ли он более надежно (без учета скорости), вместо этого полагаясь на значения cache_archive "Last-Modified" и / или "Content-Length" (согласно Site of Sun )?

К вашему сведению, объектный блок выглядит так:

<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>

Ответы [ 3 ]

9 голосов
/ 16 сентября 2008

К сожалению, разные версии плагина Java имеют различное поведение кэширования. Настройка заголовков Cache-Control и Last-Modified HTTP является идеальным решением, но оно работает только в самых последних версиях JRE.

Единственное решение, которое ГАРАНТИРУЕТСЯ для работы, - это переименовывать фляги вашего приложения, когда их версии меняются (мы видели странное поведение кэширования при попытке использовать другие приемы, такие как добавление строк запроса на основе дат файлов). Это не так сложно сделать, если у вас есть правильно автоматизированная система развертывания.

2 голосов
/ 27 февраля 2013

Вы можете удалить апплет из кэша Java, используя Java Control Panel.
Например, на Win XP

Start -> Control Panel -> Java -> Temporary Internet Files[View]
0 голосов
/ 06 марта 2012

По по этой ссылке , тот же файл jar не должен быть указан в параметрах "archive" и "cache_archive". В этом случае файл JAR кэшируется с использованием собственного кэша браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...