Я использую GWT-RPC для создания приложения. В определенный момент сервер возвращает коллекцию с использованием Collections.unmodifiableList (List l) для клиента. Клиент выдаст ошибку:Я не могу использовать в GWT Collections.unmodifiableList (List l), чтобы сделать только читаемый мой список, потому что не является сериализуемым, альтернативным способом?
[WARN] Exception while dispatching incoming RPC call
com.google.gwt.user.client.rpc.SerializationException: Type 'java.util.Collections$UnmodifiableList' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized
Итак, мне нужен альтернативный способ получить только читаемый Collection, как я могу это сделать? Большое спасибо
мой код выглядит следующим образом:
try {
LinkedList all=new LinkedList();
while(res.next()){
all.add(objectFromCursor(res));
}
return Collections.unmodifiableList(all);
} catch (SQLException e) {
throw new ExceptionHandler("Error: "+e.getMessage());
}
private static Film objectFromCursor(ResultSet res) throws SQLException{
Film film=new Film(res.getString(1));
film.setRegista(res.getString(2));
film.setAnnoDiProduzione(res.getInt(3));
return film;
}
Почему вам нужно передать неизменяемый список по GWT-RPC? Список удаляется из экземпляра сервера в любом случае после его поступления на клиент, то есть изменения на стороне клиента не будут распространяться на сервер (если вы не отправите его обратно в другой запрос GWT-RPC). –