JBoss не делает недействительным кэш страниц jsf при изменении файла xhtml

#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, похоже, не обновляется. Скорее всего, ошибка.