Ich versuche, ein Objekt über GWT RPC (GWT 2.4) zu senden. Der Gegenstand umfasst ein Objekt, das das folgende Feld umfasst:GWT RPC SerializationException
@Serialized
private Map<Class<? extends Foo>, Foo> fooMap = ImmutableMap.of();
Foo
ist definiert als:
public interface Foo extends Serializable {
}
Wenn fooMap
leer ist, es funktioniert gut. Wenn es ausgefüllt wird, schlägt der GWT RPC mit einem SerializationException
fehl. (. Der Server ist nie getroffen) Die einzige Art von Foo
in fooMap
ist von dieser Klasse:
public class FooImpl implements Foo {
private static final long serialVersionUID = 1L;
private long bar;
private float baz;
private int batz;
...
}
Was mache ich falsch? FooImpl
sollte keine Probleme verursachen. Jede Klasse hat einen Konstruktor ohne Argumente. Ich brauche keine Getter und Setter für jedes private Feld jedes serialisierten Objekts, oder? Ist Class<? extends Foo>
ein Problem?
Wo ist die Definition des Objekts selbst? Enthält es etwas außer deiner 'fooMap'? –
Das Objekt selbst ist 'Serializable' und funktioniert gut, wenn 'fooMap' entfernt oder leer ist. –
Meine Neigung ist es, die GWT-Serialisierungsmerkmale der von Ihnen verwendeten Map-Implementierung zu betrachten. – stickfigure