Hi

2011/9/27 Rohit Kelapure <kelap...@gmail.com>:
> 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 <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