2
我想通过GWT RPC(GWT 2.4)发送一个对象。所述对象包括对象,它包括以下字段:GWT RPC SerializationException
@Serialized
private Map<Class<? extends Foo>, Foo> fooMap = ImmutableMap.of();
Foo
定义为:
public interface Foo extends Serializable {
}
当fooMap
是空的,它工作正常。当它填充时,GWT RPC将失败,并显示SerializationException
。 (服务器从不打)的Foo
在fooMap
唯一的类型是从该类:
public class FooImpl implements Foo {
private static final long serialVersionUID = 1L;
private long bar;
private float baz;
private int batz;
...
}
我在做什么错? FooImpl
不应该导致任何问题。每个类都有一个无参数构造函数。对于每个序列化对象的每个私有字段,我不需要getter和setter,对吧?是Class<? extends Foo>
有问题吗?
对象本身的定义在哪里?它是否包含除“fooMap”之外的任何内容? – 2012-04-05 01:09:55
对象本身是'Serializable',并且当'fooMap'被移除或为空时工作正常。 – 2012-04-05 01:10:31
我的倾向是看你正在使用的Map实现的GWT序列化特征。 – stickfigure 2012-04-05 03:45:06