Библиотека POJO с GWT

1

У меня есть проект GWT, который работает нормально, и я использую кучу разделяемых классов. На этом этапе проекта мне нужно поделиться POJO с другой библиотекой.

Я решил разместить POJO в библиотеке.

public class Application implements IsSerializable {
    // ....
}

Поскольку эта библиотека является нейтральной с точки зрения технологии, я хотел бы избавиться от IsSerializable и зависимости от GWT. Имеет ли это смысл?

Нужно ли мне что-либо делать на стороне GWT проекта?

  • 0
    Он может реализовывать как IsSerializable так и Serializable .
Теги:
gwt

1 ответ

1
Лучший ответ

Вы можете использовать стандартный интерфейс java.io.Serializable вместо (в настоящее время несколько устаревшего) IsSerializable. Причина, по которой она была введена, заключалась в том, чтобы отличить сериализацию GWT RPC от Java. Из официальной записи FAQ на эту тему:

  • Семантика сериализации GWT намного менее сложна, чем стандартная сериализация Java, и поэтому использовать java.io.Serializable поскольку интерфейс маркера будет означать, что система сериализации GWT способна больше, чем на самом деле.
  • И наоборот, механизм сериализации GWT проще, чем стандартные Java, поэтому использование java.io.Serializable означает, что пользователям больше нужно беспокоиться (например, идентификаторы версий сериализации), чем они на самом деле.
  • GWT реализует только подмножество полных Java JRE-классов и не реализует ничего в java.io Чтобы использовать java.io.Serializable поскольку интерфейс маркера сериализации GWT RPC размывает сообщение о том, что java.io не может использоваться в приложении GWT.

В то время как каждый из вышеперечисленных пунктов все еще сохраняется, команда GWT считает, что сообщество в целом осведомлено об этих проблемах, но предпочло удобство использования стандартного интерфейса java.io.Serializable а не для того, чтобы их классы реализовали интерфейс маркера IsSerializable (...).

  • 0
    это было легко (на этот раз!), я боялся иметь общие пакеты и т. д.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню