[richfaces-issues] [JBoss JIRA] Commented: (RF-2135) javax.faces.application.ViewExpiredException is thrown in a Richfaces portlet

Murat Yanik (JIRA) jira-events at lists.jboss.org
Tue Nov 18 07:30:37 EST 2008


    [ https://jira.jboss.org/jira/browse/RF-2135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12438726#action_12438726 ] 

Murat Yanik commented on RF-2135:
---------------------------------

Our application use normaly the default value (15) of the parameters described below and we got the Exception.

Now we can reproduce this bug:

JBoss-Portal 2.6.5
RichFaces 3.2.2.GA
PortletBridge 1.0.0.B4

If you set the context-parameter in the web.xml:

<context-param>
      <param-name>com.sun.faces.numberOfViewsInSession</param-name>
      <param-value>1</param-value>
</context-param>
<context-param>
      <param-name>com.sun.faces.numberOfLogicalViews</param-name>
      <param-value>1</param-value>
</context-param> 

You have more than one portlet on your page and the portlets are in the same project (web.xml). If you change from one portlet to another hand handle some actions,klicks, then the Exception will throw.

Here is the place where the problem occrus...


class AJAXStateHolder{
...
....

-----------------------------------------------------------------------------------------------------------------------
the sequence variable contains the current view-id to get.
-----------------------------------------------------------------------------------------------------------------------

public Object[] getState(String viewId, String sequence) {
if (null == viewId) {
throw new NullPointerException(
"viewId parameter for get saved view state is null");
}
Object state[] = null;
synchronized (views) {

-----------------------------------------------------------------------------------------------------------------------
LRUMap stores the views in the session
-----------------------------------------------------------------------------------------------------------------------

LRUMap<String,Object[]> viewVersions = views.get(viewId);


if (null != viewVersions) {
if (null != sequence) {
state = viewVersions.get(sequence);
}

-----------------------------------------------------------------------------------------------------------------------
Exception..here...which throw finally the ViewExpiredException
-----------------------------------------------------------------------------------------------------------------------

if (null == state) {


if (_log.isDebugEnabled()) {
_log.debug("No saved view state for sequence "+sequence);
}
// state = viewVersions.getMostRecent();
}
} else if (_log.isDebugEnabled()) {
_log.debug("No saved view states for viewId "+viewId);
}
}
return state;
}






> javax.faces.application.ViewExpiredException is thrown in a Richfaces portlet
> -----------------------------------------------------------------------------
>
>                 Key: RF-2135
>                 URL: https://jira.jboss.org/jira/browse/RF-2135
>             Project: RichFaces
>          Issue Type: Bug
>          Components: portal
>    Affects Versions: 3.1.4
>         Environment: jdk 1.5.0_08
> JBoss AS 4.2.2
> JBoss Portal 2.6.3
> Richfaces 3.1.4.CR4 and 3.1.4.GA
>            Reporter: Viggo Navarsete
>            Assignee: Alexander Smirnov
>             Fix For: Future
>
>
> I have a Richfaces portlet that basically consists of one page (start.xhtml) where there is one input field and a button. When the user push the button my SearchBean's search method is executed. Right now I'm just returning the string "success" (to test it), and then the user is supposed to get the start.xhtml displayed once more, but now with a search result below the search input. I'm getting this ViewExpiredException when pushing the button. 
> Please see the JBoss forum reference for more information about the actual implementation. I can also provide more information on request if necessary.
> Everything is working when using Richfaces 3.1.3.GA release, but in all releases after that the exception is thrown.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the richfaces-issues mailing list