Is there a way to stop Ajax4JSF framework going through the following updates.
It seems like this happens for all Ajax requests or even page refreshes. So any function which evaluates a "value"/"rendered" property of a component will be executed trice (3 times) by the Lifecycle.
Example:
I have a page which with the panalGrid:
<h:panelGrid
rendered="#{backing_includes_Messages.displayUserMessages}">
</h:panelGrid>
The function does a database check to see if it is up. This works fine on page load.
But, when i try to reload the page (refresh) the same function gets called 3 times for the following actions.
1.
AjaxViewRoot.processDecodes(FacesContext) line: 267
LifecycleImpl.applyRequestValues(FacesContext, PhaseListenerManager) line: 219
2.
AjaxViewRoot.processValidators(FacesContext) line: 315
LifecycleImpl.processValidations(FacesContext, PhaseListenerManager) line: 262
3.
AjaxViewRoot.processUpdates(FacesContext) line: 291
LifecycleImpl.updateModelValues(FacesContext, PhaseListenerManager) line: 302
As the function does a database hit, i do not want this to happen. Does anyone know if this is a part of how JSF works or it's something Ajax4JSF framework does.
Thanks....
You may use request bean which will take the values from the data base and put it inside another session scoped bean. So this calls will be occurs to the session bean not to the db.