Code: Select all
<p:idleMonitor timeout="#{(session.maxInactiveInterval * 1000) - (30 * 1000) }"
onidle="startIdleMonitor()"
onactive="PF('timeoutDialog').hide()"
id="sessionTimeout"/>
Code: Select all
<p:selectBooleanCheckbox
value="#{cc.attrs.bean.session_extended}"
id="sessionExtendedCheckBox"
styleClass="sessionCheckbox"
>
<p:ajax update=":#{p:component('sessionTimeout')}"
listener="#{cc.attrs.bean.requestMoreSession()}" />
</p:selectBooleanCheckbox>
Code: Select all
public void requestMoreSession() {
HttpSession session;
int timeOut;
FacesContext fc = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) fc.getExternalContext().getRequest();
session = request.getSession();
if (session_extended) {
timeOut = session.getMaxInactiveInterval();
fc.getExternalContext().setSessionMaxInactiveInterval(timeOut*2);
}
else{
if(!session_extended){
timeOut = session.getMaxInactiveInterval();
session.setMaxInactiveInterval(timeOut/2);
}
}
}
I really appreciate your help,