开发者

ViewExpired exception while trying to load balance http requests

开发者 https://www.devze.com 2023-01-06 02:04 出处:网络
I am trying to run the jboss server (5.1.0) in clustered mode. I am having two nodes in the same host. When i access the two nodes as separate URLs it works well.

I am trying to run the jboss server (5.1.0) in clustered mode. I am having two nodes in the same host. When i access the two nodes as separate URLs it works well.

I am using a Apache HTTP server to load balance my requests using the Proxy balancer (with proxy pass, proxy reverse configurations). When I access the Apache server URL, it tries to load balance between 2 machines.

I g开发者_如何学Goet this error often could not restore the login.xhtml and the corresponding node stops serving requests there after, can someone tell me what is happening here?

Caused by: javax.faces.application.ViewExpiredException: viewId:/login.seam - Vi
ew /login.seam could not be restored.
        at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.jav
a:185)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
        at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.jav
a:103)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)


This exception has got to do with JSF.

add to web.xml

<context-param>

    <param-name>org.ajax4jsf.handleViewExpiredOnClient</param-name>

    <param-value>true</param-value>

</context-param>

and in the header of all pages (I would recommend creating a common header) add this:

    A4J.AJAX.onExpired = function(loc, expiredMsg){

    if(window.confirm("Custom onExpired handler "+expiredMsg+" for a location: "+loc)){

      return loc;

    } else {

     return false;

    }

}

Read here more about handling this exception in RichFaces

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号