Adding to my previous post..

I've found following comment on Sun's J2EE technical article (http://
java.sun.com/developer/technicalArticles/J2EE/clustering/)
> Whenever you change an object's state in the HttpSession, call 
> session.setAttribute(...) to flag the object as changed and save the changes 
> to a backup server or databa

I guess this means that I do have to call setAttribute() at the end of
each request, or redesign our framework so that this will be done
automatically.

On Jan 24, 8:58 pm, Soichi Hayashi <[email protected]> wrote:
> Hello!
>
> (This is for Java version)
>
> I store an object that contains various information in the session. I
> initialize the object if it doesn't exist, and I call
> session.setAttribute() to bind this object right after I instantiate
> it. I then access this object as user interact with my application,
> and I don't call setAttribute again since there was no way to know
> when user finish updating this object (by design).
>
> This worked fine until I ported my app to GAE.
>
> GAE uses multi-node container, so it uses serializer to propagate the
> session from one container to another.. However, it looks like either
> GAE or the container that GAE uses seems to use
> HttpSessionBindingListener to fire serialization, which means that if
> I call setAttribute then update the object, any information modified
> after the setAttribute() is called will be lost.
> HttpSessionBindingListener is only called when setAttribute is
> invoked, and that's when all of the data is serialized and copied to
> other container.
>
> In order for it to be more consistent with single node container, it
> should serialize session after servlet completes processing each
> request - not inside HttpSessionBindingListener.
>
> I am pretty sure I am missing some *fine notes* on J2EE specification,
> or maybe there is already a work around for this, but having to modify
> my application so that setAttribute will be called at the end of the
> request would introduce a change to a specification for our framework
> and I'd rather not have to do that if I don't have to..
>
> Thanks!
> Soichi

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to