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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >