类不会使用GWT-RPC序列化?

时间:2012-08-22 22:25:53

标签: java gwt serialization gwt-rpc

这是我要发送的课程:

public class DummyClass implements Serializable, IsSerializable {

  private Map<String, Object> properties = new HashMap<String, Object>();


  public DummyClass() {
    // stuff
  }
  public Object getValue(String key) {
    return properties.getValue(key);
  }
  public void setValue(String key, Object value) {
    properties.put(key, value);
  }
}

但是当我尝试将它作为参数发送到GWT RPC中的方法时,我得到了一个伞状异常。

  DummyClass dummy = new DummyClass();
  dummy.setValue("foo", "bar");
  ServiceImpl impl = Gwt.create(SampleService.class).doSomething(dummy);

我可以删除Map properties中指定的泛型类型...但除了ObjectSerializable以外,对属性映射中可以存储的内容没有限制。

使用Java的标准序列化,类的实例序列化很好。

此外,GWT编译器没有显示警告或错误。

有没有人可以指出我可以尝试让它发挥作用?

1 个答案:

答案 0 :(得分:0)

也许您可以尝试将java.lang.Object返回类型的getValue()和参数类型的setValue()方法替换为更具体的内容(例如java.io.Serializable)。

另请注意,如果您的对象仅实现Serializable(除了它之外不需要实现IsSerializable,您也可以。)