[seam-dev] Re: PARAM_BUILD_BEFORE_RESTORE

Shane Bryzak shane.bryzak at jboss.com
Sun Sep 7 21:32:32 EDT 2008


I added this parameter, but same result.

Dan Allen wrote:
> Do you have this context parameter as well?
>
>     <context-param>
>         <param-name>com.sun.faces.disableVersionTracking</param-name>
>         <param-value>true</param-value>
>     </context-param>
>
> I'm not sure this makes a difference, but it has something to do with
> JSF detecting the wrong version of JSF due to RichFaces
> faces-config.xml files on the classpath. When JSF is not working in
> 1.2 mode, it handles the restore logic differently. Check with this
> enabled and report the results.
>
> -Dan
>
> On Sun, Sep 7, 2008 at 9:12 PM, Shane Bryzak <shane.bryzak at jboss.com> wrote:
>   
>> I tested by browsing to the login page, then killing JBossAS and restarting
>> it (same effect as session timing out) yet still get the same exception.  My
>> web.xml has the following entry:
>>
>>   <context-param>
>>       <param-name>facelets.BUILD_BEFORE_RESTORE</param-name>
>>       <param-value>true</param-value>
>>   </context-param>
>>
>> Here's the stack trace.  I checked the version of Facelets that we have in
>> Seam and it's 1.1.15.B1.
>>
>> javax.faces.application.ViewExpiredException: viewId:/home.seam - View
>> /home.seam could not be restored.
>>
>>  com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:186)
>>        com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
>>
>>  com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:104)
>>        com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
>>        javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
>>
>>  org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
>>        org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:38)
>>
>>  org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>>        org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
>>
>>  org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>>        org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
>>
>>  org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>>        org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
>>
>>  org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>>
>>  org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
>>        org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:150)
>>        org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
>>
>>  org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:379)
>>        org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:506)
>>        org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
>>
>>  org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>>        org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
>>
>>  org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>>        org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
>>
>>  org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
>>
>>
>>
>> Dan Allen wrote:
>>     
>>> This feature was added in Facelets 1.1.12 according to this URL:
>>>
>>> http://sfjsf.blogspot.com/2006/03/facelets-112-is-out.html
>>>
>>> To test this feature, set the session timeout to 1 minute, visit the
>>> login page, and go grab a cup of coffee (yes, there are other ways,
>>> but this is the real world test). When you get back, try to use the
>>> login page. You should see that you can successfully login even though
>>> the session is dead and the previously rendered login view cannot be
>>> found during postback.
>>>
>>> -Dan
>>>
>>> On Sun, Sep 7, 2008 at 8:01 PM, Shane Bryzak <shane.bryzak at jboss.com>
>>> wrote:
>>>
>>>       
>>>> Is this a recent change to Facelets?  I tried this in the seamspace
>>>> example
>>>> and still got the "View /home.seam could not be restored" exception.
>>>>
>>>> Dan Allen wrote:
>>>>
>>>>         
>>>>>> You simply set the context parameter PARAM_BUILD_BEFORE_RESTORE
>>>>>> to true.
>>>>>>
>>>>>>
>>>>>>             
>>>>> Correction. I provided the name of the constant in the Facelets API.
>>>>> The parameter name is facelets.BUILD_BEFORE_RESTORE. The context
>>>>> parameter configuration is shown below:
>>>>>
>>>>> <web-app ...>
>>>>>   ...
>>>>>   <context-param>
>>>>>       <param-name>facelets.BUILD_BEFORE_RESTORE</param-name>
>>>>>       <param-value>true</param-value>
>>>>>   </context-param
>>>>> </web-app>
>>>>>
>>>>> -Dan
>>>>>
>>>>>
>>>>>
>>>>>           
>>>>         
>>>
>>>
>>>       
>>
>>     
>
>
>
>   





More information about the seam-dev mailing list