Я использую gwt, и я использую mapdb, и когда я извлекаю данные в виде карты (BTreeMap) gwt throw rpc exceptionization. Я завернул карту в объект, который реализует Serializable
и IsSerializable
, но это не работает.GWT - исключение сериализации RPC и MapDB
Я не знаю, почему это не работает, потому что я прочитал документацию mapdb, и я правильно ее использую.
Вот код:
public class WrapperObject implements Serializable, IsSerializable {
private Map<String, List<String>> map;
public WrapperObject() {}
public WrapperObject(Map<String, List<String>> map) {
this.map = map;
}
//GETTERS AND SETTERS
...
}
public class Prova {
....
private DB openDB() {
return DBMaker.shoutdownOnJvmClose().make();
}
...
public WrapperObject retrieveData() {
DB db = this.openDB();
Map<String, List<String>> map =
db.getTreeMap("values");
return new WrapperObject(map);
}
}
Тогда в классе клиента я создаю дерево с TreeItem используя карту.
Благодарим за помощь.
вашего 'WrapperObject' выделяется в общем пакете? Вы снова пытались скомпилировать? – Tobika
будет здорово, если вы поместите полное исключение stacktrace – Ajax
, вы запускаете свой код в разработке, используя режим супер-dev. это может быть причиной –