Spring Remoting Сериализация и десериализация

Мы использовали Spring Remoting в нашем проекте в течение некоторого времени. Он используется с некоторыми другими системами для доступа к нашим веб-сервисам. В настоящее время мы развиваемся с точки зрения того, какие параметры принимает веб-служба; но в то же время мы стараемся быть независимыми от наших потребителей.

Итак, в настоящее время мой вопрос о том, как сериализация и десериализация работает в весеннем удаленном взаимодействии. Вот подробности:

У меня есть веб-сервис, выставленный через весеннее удаленное взаимодействие, который имеет следующие параметры в классе

  1. название
  2. возраст
  3. адрес

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

Как я уже упоминал, мы разработали наш веб-сервис и класс соответственно, чтобы теперь содержать следующие поля "

  1. название
  2. возраст
  3. адрес
  4. страна
  5. Дата рождения

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

Весеннее удаленное взаимодействие изящно обрабатывает дополнительные поля, или я должен ожидать, что это шпаргалка?

Дайте мне знать, если мой вопрос не ясен в любой момент. Последний вопрос, который я пытаюсь задать, заключается в том, стоит ли ожидать, что моя программа будет бомбить? И это не сбой в настоящее время, поскольку я не проверяю что-то правильно? Как весеннее удаленное взаимодействие сериализует и десериализует объекты, которыми обмениваются?

2 ответа

Решение

Весенняя сериализация подчиняется правилам сериализации Java.

Убедитесь, что изменения действительно повлияли на serialVersionUID и что вы сами не предоставляете его, который не изменился.

Я думал, что удаленное удаленное взаимодействие основано на HTTP, а не на Java-сериализации. Если это так, то это пары имя / значение параметра, и пока вы не убрали параметры, которые, как ожидают существующие клиенты, продолжат работать.

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

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