Сериализация типов JDBC в GWT - PullRequest
       4

Сериализация типов JDBC в GWT

1 голос
/ 21 февраля 2012

Мне нужно сериализовать объект неизвестного типа (только JDBC типов) в GWT. У меня есть объект, который содержит список неизвестных объектов "jdbc", и мне нужно, чтобы он был передан от клиента к серверу и обратно. Если этот объект сериализуется в файл не в клиентской среде gwt, я могу хранить эти неизвестные объекты в списке Object. Но GWT не может сериализовать объекты типа Object. Как мне этого добиться? Любые предложения

Ответы [ 3 ]

4 голосов
/ 21 февраля 2012

Вы можете столкнуться с проблемами, если эти типы jdbc не возвращаются ни одним из ваших других методов RPC.

Если, например, ваш класс Foo не отправляется через RPC любым другим методом, крометот, который возвращает List [Object], тогда GWT не знает во время компиляции (когда он генерирует белый список RPC), что Foo - это класс, который должен генерировать код для сериализации.Это особенно имеет смысл для сгенерированного JavaScript, где важно избежать раздувания кода из неиспользуемых типов.

Вы можете обойти это, вручную добавив свои классы без ссылок (все возможные типы возврата из JDBC) в фиктивный класс, которыйотправляется через RPC. Как добавить тип в белый список политики сериализации GWT?

Также вы можете написать собственный генератор RemoteService для использования, который добавляет типы без использования класса Dummy.http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsDeferred.html#generator

2 голосов
/ 22 февраля 2012

Вы можете вернуть их как

List<Serializable> serviceMethod();

Если вы гарантируете, что все они сериализуемы. Просто приведите их все к Serializable, прежде чем вернуться из метода обслуживания.

0 голосов
/ 21 февраля 2012

См. GWT Справочник по эмуляции JRE , класс Object отсутствует, и GWT не может его сериализовать, поэтому вы должны создать свой собственный объект передачи, который реализует интерфейс маркера IsSerializable . Вкратце, RPC не может сериализовать java.lang.Object. Проверьте эту ссылку: GWT Тип отправки OBJECT через RPC и хорошая тема здесь: Сериализация объекта и Почему сериализация GWT так сложна?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...