Сериализатор GWT имеет ограниченную поддержку java.io.Serializable
, но по соображениям безопасности есть белый список типов, которые он поддерживает. Документация, которую я нашел, например, this FAQ entry говорит, что любые типы, которые вы хотите сериализовать, должны быть включены в белый список политики сериализации и что этот список генерируется во время компиляции, но не объясняет, как компилятор решает, что происходит в белом списке.Как добавить тип в белый список политики сериализации GWT?
Сгенерированный список содержит несколько типов, которые являются частью стандартной библиотеки, например java.lang.String
и java.util.HashMap
. Я получаю сообщение об ошибке при попытке сериализации java.sql.Date
, который реализует интерфейс Serializable
, но не включен в белый список. Как добавить этот тип в список?
Он должен быть добавлен - класс также должен иметь открытый конструктор no-args по умолчанию. Просто реализовать интерфейс IsSerializable без этого недостаточно. Нашел это из-за трудного пути после часа отладки :) – 2010-08-30 05:09:46
@AdrianPetrescu Это не совсем правильно. Конструктор no args может быть закрытым, но он должен быть тем не менее. Кроме того, сам класс не должен быть закрытым, и если он является внутренним классом, он должен быть статическим. И класс может не иметь конечных нестатических полей. – FrankPl 2014-03-27 15:55:46