У меня есть простой класс Java, который мне нужно сериализовать, чтобы сохранить как значение в СУБД или хранилище значений ключей. Класс - это просто набор свойств простых типов (нативные типы или Карты / Списки нативных типов). Проблема в том, что класс, вероятно, будет развиваться с течением времени (вероятно: добавление новых свойств, менее вероятно, но все еще возможно: переименование свойства, изменение типа свойства, удаление свойства).
Я бы хотел иметь возможность корректно обрабатывать изменения в версии класса. В частности, когда делается попытка десериализации экземпляра из более старой версии, я хотел бы иметь возможность указать какой-либо тип обработчика для управления переходом более старого экземпляра в новейшую версию.
Я не думаю, что встроенная сериализация Java здесь уместна. Прежде чем я попытаюсь развернуть свое собственное решение, мне интересно, знает ли кто-нибудь какие-либо существующие библиотеки, которые могут помочь? Я знаю множество альтернативных методов сериализации для Java, но я специально ищу что-то, что позволило бы мне изящно обрабатывать изменения в определении класса со временем.
Edit:
Что бы это ни стоило, я закончил тем, что остановился на Protocol Buffer (http://code.google.com/p/protobuf/) сериализация, так как он гибок для добавления и переименования полей, в то же время находясь на меньшем количестве кода, который я должен поддерживать (в отношении пользовательских Сериализация Java с использованием readObject / writeObject).