When I try to reset omnifaces cache I get exception dump with duplicated Component ID.
Here is my page code snippet:
<h:body> <h:form id="f"> <h:commandLink value="Refresh" id="r" actionListener="#{actionManager.refresh()}" action="#{frontendCache.globalReset()}" /> <h:commandLink value="Refresh" id="re" actionListener="#{actionManager.getCache()}"/> </h:form> <o:cache key="firstCache" reset="#{actionManager.cache}"> <h:outputText value="ss" /> </o:cache> </h:body>
Upon any command link hit I get the issue.. (I do not have page redirect there)
Here my dump:
00:42:17,718 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (http-/0.0.0.0:80-1) +id: j_id1 type: javax.faces.component.UIViewRoot@45e7a969 +id: j_idt1 type: <html xmlns="http://www.w3.org/1999/xhtml"> +id: j_idt2 type: javax.faces.component.UIOutput@6c235059 +id: j_idt3 <=============== type: org.omnifaces.component.output.Cache@2c57d8b6 +id: j_idt4 type: javax.faces.component.html.HtmlOutputText@3b54ab78 +id: f type: javax.faces.component.html.HtmlForm@2703a86 +id: r type: javax.faces.component.html.HtmlCommandLink@161234aa +id: re type: javax.faces.component.html.HtmlCommandLink@10154f39 +id: j_idt3 <=============== type: org.omnifaces.component.output.Cache@67042f6e +id: j_idt4 type: javax.faces.component.html.HtmlOutputText@43c61398 +id: j_idt5 type: </html>
Did someone faced the same issue? Is there some extra configuration for the omnifaces? I use omnifaces 1.5.. When I do programmatically flush cache, it work, although I need to do a page redirect which is ugly.
Thanks in advance
This seems to do the trick:
<context-param> <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name> <param-value>true</param-value> </context-param>