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.
