Search code examples
gwtgwt-rpcgwt-platformgwtp

Intermitant serialization exception with GWT Dev mode and external server


I have a GWT app which runs pretty much flawlessly in Dev mode with GWT's embedded jetty server.

However, I need to move over to using an external jetty server (For various reasons). I followed the GWT documentation Compile & Debug for external server setup exactly.

My app runs, however 2/3 of the time on load I get a serialization exception similar to this (On the server side):

com.google.gwt.user.client.rpc.SerializationException: Type 'my.package.impl.ContentTypeImpl' was not assignable to 'com.google.gwt.user.client.rpc.IsSerializable' and did not have a custom field serializer.For security purposes, this type will not be serialized.: instance = my.package.impl.ContentTypeImpl@5e5edf72

I am sure that this particular class is serializable, and I have ensured that I compiled my application and moved the static assets into my external servers war directory. Like I said, it works about every third time I refresh the browser.

Any suggestions?

Thanks!


Solution

  • from: http://www.gwtproject.org/doc/latest/tutorial/RPC.html#serialize

    A class is serializable if it meets these three requirements:

    1. It implements either Java Serializable or GWT IsSerializable interface, either directly, or because it derives from a superclass that does. <--
    2. Its non-final, non-transient instance fields are themselves serializable, and
    3. It has a default (zero argument) constructor with any access modifier (e.g. private Foo(){} will work