IBM Support

PI27290: MULTI-WINDOW USAGE WITH SERVER-SIDE STATE SAVING THROWS A JAVAX.FACES.APPLICATION.VIEWEXPIREDEXCEPTION

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Multi-window usage with server-side state saving is broken and
    throws a javax.faces.application.ViewExpiredException:
    
    The fix is similiar to the one that has been addressed in
    myfaces-3117
    
    The following exception is observed.
    Exception:
    #####
    javax.faces.application.ViewExpiredException:
    /entity/search/entitySearch.xhtmlNo saved view state could be
    found for
    the view identifier: /entity/search/abc.xhtml
    at
    org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(Restore
    ViewExecutor.java:128)
    at
    org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(Lifecycl
    eImpl.java:172)
    at
    org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl
    .java:119)
    ####
    
    WebSphere Application Server 8.0.0.5
    Distributed operating systems.
    

Local fix

  • Work around where we set the JSF State to  client
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  IBM WebSphere Application Server Full       *
    *                  Profile versions 8.0 and 8.5.5 and Liberty  *
    *                  Profile version 8.5.5 users of JavaServer   *
    *                  Faces (JSF) MyFaces                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: A ViewExpiredException can occur in a   *
    *                      multi-window scenario when using JSF.   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The viewstate stored in a session will be overwritten when the
    number of viewstates stored exceeds the number of views
    specified by the context parameter
    org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION (20 by default).
    When multiple windows are in use, this can lead to a
    viewstate loss if a particular window's viewstate is
    overwritten by another window's saved viewstates.
    A stack trace like the one shown below might be observed when
    this defect is present:
    javax.faces.application.ViewExpiredException: /xxx.jsf
    No saved view state could be found for the view identifier:
    /xxx.jsf
    at
    org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(Restore
    ViewExecutor.java:128)
    at
    org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(Lifecycl
    eImpl.java:172)
    at
    org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl
    .java:119)
    ...
    

Problem conclusion

  • The JSF MyFaces code was updated to avoid the problem when the
    following context parameter is set to true:
    com.ibm.ws.jsf.enableRemoveRestoredViewState
    (true/false - default).
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 8.0.0.10 and 8.5.5.5.  Please refer to the
    Recommended Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

  • Setting the context parameter javax.faces.STATE_SAVING_METHOD
    = client (server - default/client) resolves this issue but
    also increases network bandwidth usage.
    

Comments

APAR Information

  • APAR number

    PI27290

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-10-08

  • Closed date

    2014-10-23

  • Last modified date

    2017-08-23

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R800 PSY

       UP

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
28 April 2022