У меня есть проблема с апплетом Java, который я развернул, который отказывается кэшироваться в "липком" кэше jvm (или браузером). По некоторым причинам каждый раз пользовательские нагрузки страница этот апплет идет, jvm повторно загружает файл банки с сервера, который вызывает длительную задержку.
К веб-странице, содержащей апплет, получают доступ через Интернет, таким образом, согласно документации апплета Java Sun я использую тег, а не
или
тег.
Любая справка, отлаживающая или определяющая проблему, очень ценилась бы.
Ниже полный тег апплета, который я использую:
Лично я решил проблемы с кешированием, используя параметры cache_archive и cache_version, задокументированные на http://java.sun.com/javase/6/docs /technotes/guides/plugin/developer_guide/applet_caching.html
Моя версия cache_version основана на фактической дате изменения файла, например
val archive = libs.map("/" + _.getPath).mkString (", ")
val version = libs.map(_.getUpdated / 1000 / 20 - 59281420).mkString (", ")
и для работы с MSIE это выглядит так:
if (msie) {
cms write <OBJECT
classid="clsid:CAFEEFAC-0016-0000-0000-ABCDEFFEDCBA"
codebase="http://java.sun.com/update/1.6.0/jinstall-6-windows-i586.cab"
width="100%" height="100%">
...
<PARAM name="cache_archive" value={archive}/>
<PARAM name="cache_version" value={version}/>
</OBJECT>
} else {
cms write <applet ...
cache_archive={archive} cache_version={version}></applet>
}
В этой официальной статье описывается, как изменить тег APPLET для увеличения кэширования:
http://java.sun.com/products/plugin/1.3/docs/appletcaching.html
У меня была такая же проблема, и я нашел уловку, которую нужно применить на стороне сервера. Кажется, что jar-файлы не кэшируются, если их mime-тип неверен. Пожалуйста, проверьте ответ вашего сервера, используя mime-тип application / java-archive.
Другая проблема, которую я обнаружил, связана с конкретным jar. В моем параметре архива перечислялось много jar-файлов, но только некоторые из них были кэшированы. Я обнаружил, что все jar-файлы, вплоть до определенного, были кэшированы, а все оставшиеся jar-файлы вообще не кэшировались. При загрузке апплета я нажал «5» в его java-консоли и обнаружил это сообщение сразу после последнего кешированного jar: cache: в jar отсутствует подписанная запись. Я до сих пор не знаю, что не так с этим файлом, но я переместил эту банку в конец списка параметров архива. Это «устранило» проблему.
Мне пришлось удалить файлы Jar из тега Archive и просто указать их в параметре cache_archive, а также указать версии, чтобы они не передавались на сервер для даты последнего изменения.
Исправлено в firefox для меня