Thanks for pointing it out.  I will investigate ...

--Thanks,
Rohit

On Tue, Sep 27, 2011 at 12:27 PM, Leonardo Uribe <[email protected]> wrote:

> Hi
>
> 2011/9/27 Rohit Kelapure <[email protected]>:
> > 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);
> >
>
> Look this class:
>
>
> http://svn.apache.org/repos/asf/myfaces/core/branches/1.1.x/impl/src/main/java/org/apache/myfaces/context/servlet/SessionMap.java
>
> In JSF, the "sessionMap" is a wrapper for the session object, so call
> sessionMap.put will effectively call
> _httpRequest.getSession(true).setAttribute(key, value). It is ok.
>
> regards,
>
> Leonardo Uribe
>
> > --Thanks,
> > Rohit
> >
> >
> > On Mon, Sep 26, 2011 at 10:24 PM, Leonardo Uribe <[email protected]>
> wrote:
> >
> >> Hi
> >>
> >> 2011/9/26 Boyd, David (Corporate) <[email protected]>
> >>
> >> > 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:[email protected]]
> >> > Sent: Monday, September 26, 2011 09:47 PM
> >> > To: MyFaces Discussion <[email protected]>
> >> > 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 <[email protected]>
> >> >
> >> > > 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) <
> >> > > [email protected]> 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