Wednesday, June 25, 2014

Re: GWT RemoteServiceServlet serialization policy

Jens, thanks for your answer.
I verified and your answer is correct. Strong names different, so correct policies are loaded..

However the client still gets IncompatibleRemoteServiceException although the response gets to the client (which has the new code base) but it fails to be deserialized.
So, even after refresh of the page, the users get that exception. And all the users that access that module will get that exception for a while.

Any ideas?

On Wednesday, June 25, 2014 1:54:10 AM UTC+3, Jens wrote:
I am wondering how this should happen. GWT uses a cache Map<String, SerializationPolicy> with the key being the permutation strong name. So if an outdated client makes a request and no serialization policy is found, a default policy will be put into that cache for the outdated permutation strong name. Once the client reloads the app and has the new JS code the permutation strong name should be a different/new one and thus the cache does not hit which in turn means the correct policy will be loaded and put into the cache.

I can't think of a way in which the permutation strong name stays the same but the RPC policy file has changed.

Here is what I do to deal with outdated clients using GWT-RPC: https://groups.google.com/forum/#!msg/google-web-toolkit/wy-agrYSHsk/DgZr4zR0iKMJ

-- J.

--
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 google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment