Following up on George's post, here's the DeRPC doc. You can find a
little additional info by searching for "DeRPC" on the public issue
tracker. DeRPC was created to help with large object graph
serialization; however, DeRPC (NOT GWT-RPC) will likely be deprecated
eventually in favor of RequestFactory.

http://code.google.com/webtoolkit/doc/latest/DevGuideServerCommunication.html#DevGuideDeRPC
http://code.google.com/p/google-web-toolkit/issues/list

/dmc

On Sun, Dec 19, 2010 at 3:43 AM, Damien Picard <picard.dam...@gmail.com> wrote:
> Hi,
>
> In a few words, I've got a problem with big object deserialization after an
> RPC call.
> On Internet Explorer, the browser ask me to interrupt the script because the
> deserialization process is too long.
>
> In fact, my RPC service returns a deep recursive tree, and some other data,
> where the Item is called Option :
>
> The generated FieldSerializer looks like :
>
> public static void
> deserialize(com.google.gwt.user.client.rpc.SerializationStreamReader
> streamReader, Option instance) throws
> com.google.gwt.user.client.rpc.SerializationException{
>     //The childs of this Option node, defining the tree
>     setChildren(instance, (java.util.List) streamReader.readObject());
>     //Some other atomic data
>     (...)
>
>   }
>
> In my mind, the invocation of setChildren() involves that the childs Options
> are deserialized too. And, because of my tree is too deep, this
> deserialization process leeds to have a "Would you like to interrupt the
> script ?" in IE6/7.
>
> I think I could resolve this problem by adding a deferred command in this
> process :
>
> public static void
> deserialize(com.google.gwt.user.client.rpc.SerializationStreamReader
> streamReader, Option instance) throws
> com.google.gwt.user.client.rpc.SerializationException{
>     //The childs of this Option node, defining the tree
>     Command c = new Command(){
>         public void execute(){
>            setChildren(instance, (java.util.List)
> streamReader.readObject());
>         }
>     }
>     DeferredCommand.addPause();
>     DeferredCommand.addCommand(c);
>     //Some other atomic data
>     (...)
>
>   }
>
> But, to do that, I have to modify the generator of this serializer, and i've
> not found where I can do that. So my questions are :
>
> Is it a good idea ?
> How can I modify /implement my own serializer generator for this tree ?
>
> P.S. : Furthermore, I will have to deal with asynchronism because of my
> deserialize method will returns before my tree will be totaly deserialized ;
> but I will work on this in a second step.
>
> Thank you.
>
> --
> Damien Picard
> Axeiya Services : http://axeiya.com/
> gwt-ckeditor : http://code.google.com/p/gwt-ckeditor/
> Mon livre sur GWT : http://axeiya.com/index.php/ouvrage-gwt.html
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> To post to this group, send email to google-web-tool...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-web-toolkit+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>



-- 
David Chandler
Developer Programs Engineer, Google Web Toolkit
http://googlewebtoolkit.blogspot.com/

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to google-web-tool...@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to