#caching #jsf-2 #jboss6.x
#кэширование #jsf-2 #jboss6.x
Вопрос:
Похоже, что кэш страниц JBoss JSF не всегда обновляется при изменении моих файлов xhtml. Например:
Шаблон
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:f="http://java.sun.com/jsf/core">
<f:view contentType="text/html">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="cache-control" content="must-revalidate"/>
<meta http-equiv="expires" content="-1"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
</h:head>
<h:body>
<ui:insert name="body"/>
</h:body>
</f:view>
</html>
MyPage.xhtml
<ui:composition template="template.xhtml">
<ui:define name="body">
<h:outputText value="Some text"/>
</ui:define>
</ui:composition>
Если я загружу MyPage.jsf сейчас, он отобразит «некоторый текст». Теперь я меняю «некоторый текст» на «измененный текст» в развернутом пакете и перезагружаю страницу. На странице будет отображаться новый текст. Однако, если я изменю его еще раз, он по-прежнему будет отображать старое значение. Проблема, похоже, приходит и уходит, но применяется ко всем моим страницам, когда она проявляется. Каждая страница отражает изменения только один раз, затем она, похоже, кэшируется и не отпускается, пока я не перезагружу приложение или не подожду несколько минут, пока кэш не станет недействительным. Это очень раздражает во время разработки.
Есть ли какое-либо решение этой проблемы?
Комментарии:
1. У меня такая же проблема. Вы нашли решение?
2. Не конкретное решение, но проблема вроде как исчезла с тех пор, как я переключил IDE, так что это может быть связано с этим. Раньше я использовал Netbeans и запускал сервер из IDE. Теперь я обновляю ресурсы с помощью ant-скрипта, который, похоже, работает хорошо. Вероятно, это была проблема с меткой времени.
Ответ №1:
Похоже, это связано с тем, что при возникновении ошибки компиляции xhtml кэш JBoss, похоже, не обновляется. Скорее всего, ошибка.