Spring Remoting Сериализация и десериализация
Мы использовали Spring Remoting в нашем проекте в течение некоторого времени. Он используется с некоторыми другими системами для доступа к нашим веб-сервисам. В настоящее время мы развиваемся с точки зрения того, какие параметры принимает веб-служба; но в то же время мы стараемся быть независимыми от наших потребителей.
Итак, в настоящее время мой вопрос о том, как сериализация и десериализация работает в весеннем удаленном взаимодействии. Вот подробности:
У меня есть веб-сервис, выставленный через весеннее удаленное взаимодействие, который имеет следующие параметры в классе
- название
- возраст
- адрес
В настоящее время все потребители используют соответствующие заглушки, и сериализация и десериализация происходят соответственно.
Как я уже упоминал, мы разработали наш веб-сервис и класс соответственно, чтобы теперь содержать следующие поля "
- название
- возраст
- адрес
- страна
- Дата рождения
Однако у потребителей все еще есть старые заглушки или, скорее, заглушки для доступа к веб-сервису. Мы сделали всплеск, и кажется, что независимо от вновь добавленных полей на наших концах служба удаленного взаимодействия продолжает работать нормально. Я ожидал, что это будет бомбить в конце потребителей, так как количество полей было добавлено. "ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ, НИКАКИЕ ПОЛЯ НЕ УДАЛЕНЫ / УДАЛЕНЫ ИЗ КЛАССА". Только дополнения были сделаны.
Весеннее удаленное взаимодействие изящно обрабатывает дополнительные поля, или я должен ожидать, что это шпаргалка?
Дайте мне знать, если мой вопрос не ясен в любой момент. Последний вопрос, который я пытаюсь задать, заключается в том, стоит ли ожидать, что моя программа будет бомбить? И это не сбой в настоящее время, поскольку я не проверяю что-то правильно? Как весеннее удаленное взаимодействие сериализует и десериализует объекты, которыми обмениваются?
2 ответа
Весенняя сериализация подчиняется правилам сериализации Java.
Убедитесь, что изменения действительно повлияли на serialVersionUID
и что вы сами не предоставляете его, который не изменился.
Я думал, что удаленное удаленное взаимодействие основано на HTTP, а не на Java-сериализации. Если это так, то это пары имя / значение параметра, и пока вы не убрали параметры, которые, как ожидают существующие клиенты, продолжат работать.
Пожалуйста, проверьте это, скаффман. Ваши знания о весне превосходны, и я сейчас в отпуске. Я был бы груб, чтобы дольше оставаться на компьютере моего друга и исследовать тему. Извините, я не могу быть более полезным.