GWT RPC сериализация

У меня есть приложение, использующее RPC GWT, а также Ebean как ORM. Пытаясь обновить Ebean с версии 2.7 до 11.34, я обнаружил, что более новая версия Ebean больше не поддерживает создание подклассов, но использует усовершенствование бина, которое, кажется, сбивает с толку сериализатор gwt. Мы использовали подклассы Ebean и фактически отбросили подкласс для случаев, когда объектный компонент не просто использовался на сервере, но был напрямую передан RPC gwt.

Насколько я вижу, расширение добавляет экземпляр класса EntityBeanIntercept каждому бину сущности. Поскольку мы фактически никогда не используем бины, которые мы возвращаем от клиента к серверу, для прямой записи их в базу данных, мой подход заключался в добавлении CustomFieldSerializer для класса EntityBeanIntercept это ничего не делает Тем не менее, я все еще получаю

com.google.gwt.user.client.rpc.SerializationException: Type 'io.ebean.bean.EntityBeanIntercept' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded.

Я создал два класса:

com.google.gwt.user.client.rpc.core.io.ebean.bean.EntityBeanIntercept_CustomFieldSerializer
com.google.gwt.user.server.rpc.core.io.ebean.bean.EntityBeanIntercept_ServerCustomFieldSerializer

с пустыми реализациями всех методов сериализации / десериализации. Отладкой я обнаружил, что, тем не менее, EntityBeanIntercept не занесен в белые списки для сериализации / десериализации внутреннего gwt SerializationPolicyLoader,

Нужно ли добавлять эти настраиваемые сериализаторы в некоторые конфигурации, чтобы они учитывались gwt?

Кстати, текущая версия GWT является 2.7.

0 ответов

Другие вопросы по тегам