myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Boyd, David (Corporate)" <David.B...@adesa.com>
Subject Re: Issues with MyFaces and Clusters
Date Tue, 27 Sep 2011 01:58:33 GMT
So just to be clear

1. Based on the code snipit it appears that indeed myfaces is doing thing as expected. 

2. Are stating that the issue I am seeing is a know bug with Websphere 7?  If so can you provide
a link.  I was searching the IBM site but did not have any success in locating any issue list.




Thanks
-David Boyd

(Sent via BlackBerry)

----- Original Message -----
From: Leonardo Uribe [mailto:lu4242@gmail.com]
Sent: Monday, September 26, 2011 09:47 PM
To: MyFaces Discussion <users@myfaces.apache.org>
Subject: Re: Issues with MyFaces and Clusters

Hi

I have checked the latest code (and 1.1.7 code) and it seems to be correct.
See:

http://svn.apache.org/repos/asf/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/jsp/JspStateManagerImpl.java

the following lines:

    protected void saveSerializedViewInServletSession(FacesContext context,
                                                      Object serializedView)
    {
        Map<String, Object> sessionMap =
context.getExternalContext().getSessionMap();
        SerializedViewCollection viewCollection =
(SerializedViewCollection) sessionMap
                .get(SERIALIZED_VIEW_SESSION_ATTR);
        if (viewCollection == null)
        {
            viewCollection = new SerializedViewCollection();
            sessionMap.put(SERIALIZED_VIEW_SESSION_ATTR, viewCollection);
        }
        viewCollection.add(context, serializeView(context, serializedView));
        // replace the value to notify the container about the change
        sessionMap.put(SERIALIZED_VIEW_SESSION_ATTR, viewCollection);
    }

Look the last line that force the collection to be stored again on the
session, to notify the container about the change. Maybe since the same
instance is stored, by some reason WebSphere is not notifying the change and
cause the problem you described. I think a workaround is create a custom
state manager extending from myfaces one and writing something else on the
session, but in practice it is a bug in WebSphere, so a fix should be done
there.

regards,

Leonardo Uribe

2011/9/26 Rohit Kelapure <kelapure@gmail.com>

> David,
>
> Please take a look at
>
> Update All Session Attributes option -  Horrible for performance, but fixes
> issues like this.
>
> http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=%2Frzamy%2F50%2Fadmin%2Fhelp%2Fuprs_rtuning_parameters.html
>
> --Thanks,
> Rohit
>
> On Mon, Sep 26, 2011 at 3:09 PM, Boyd, David (Corporate) <
> David.Boyd@adesa.com> wrote:
>
> > I am having some issues with clustering an application with session
> > affinity enabled on Websphere Application Server.
> >
> >
> >
> > We are using:
> >
> >
> >
> > MyFace 1.1.7
> >
> > Tomahawk 1.1.5
> >
> > JDK 1.5
> >
> > WebSphere 7 - Fix Pack 13
> >
> >
> >
> > I am wondering if this is a known issue with this version of My Faces.
> >
> >
> >
> > What appears to be happening is that in the application, when a session
> > object is accesses and the data is changed, the change event is not
> > being triggered and therefore the change is not being pushed out to all
> > the servers in the cluster.
> >
> >
> >
> > It looks like this version of my faces is accessing the session object
> > via the getter but, it is making a change to the reference and therefore
> > not calling the setter method.
> >
> >
> >
> > Looking for some confirmation on this issue or possible a configuration
> > that needs to be done.
> >
> >
> >
> > Thanks
> >
> >
> >
> >
> >
> >
> >
> >
>

Mime
View raw message