I am currently working on a project that uses GWT 2.4 on the client side, 
RequestFactory as the transport layer, and Apache Tomcat and Hibernate on 
the server side.

The trouble I'm having involves a service call that results in changes in a 
database Entity which as it happens is not the object that is returned by 
the same service. Since this same entity has already been obtained by the 
client in a previous request, the client version of it becomes outdated.

This actually shouldn't be a problem since the entity field that has been 
changed is no longer required by the client.

The problem is that when the client references this same entity as an 
argument of a following service call, without any client side explicit 
changes being performed to it, requestfactory internal decorator procedures 
responsible for rebuilding the entity on the server side seem to be 
persisting the outdated data (by performing calls to the entity's Set 
methods, which are detected by the hibernate session and scheduled for 
update when the transaction is committed).

Is this issue simply a design flaw, and any changes to entities (still 
being used by the client) that result from a service call should be somehow 
explicitly refreshed? I don't think this would work in all situations since 
the same entity might still become outdated by changes performed by server 
site automatic procedures or even another client call.

It seems to me that requestfactory should be able to detect when an entity 
passed in a service argument is outdated (by comparing the client version 
of it with the one returned by the entity's getVersion() method), and throw 
a warning in the form of an exception or something, or at least ignore the 
outdated data (which would be more than enough in my situation).

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to