Leonardo,

Updating this sessionMap object doesn't mean anything to the session.
 It has to be the sessionMap object updated within the session.  Something
like this -

session.put("sessionMap", object);

--Thanks,
Rohit


On Mon, Sep 26, 2011 at 10:24 PM, Leonardo Uribe <lu4...@gmail.com> wrote:

> Hi
>
> 2011/9/26 Boyd, David (Corporate) <david.b...@adesa.com>
>
> > So just to be clear
> >
> > 1. Based on the code snipit it appears that indeed myfaces is doing thing
> > as expected.
> >
> >
> Yes.
>
>
> > 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.
> >
> >
> I don't know if it is a known bug. All I can say is myfaces with other
> servers in a cluster configuration work as expected, so I suppose based on
> the evidence it is a bug on Websphere.
>
> regards,
>
> Leonardo
>
>
> >
> >
> > Thanks
> > -David Boyd
> >
> > (Sent via BlackBerry)
> >
> > ----- Original Message -----
> > From: Leonardo Uribe [mailto:lu4...@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 <kelap...@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.b...@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
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
>

Reply via email to