Java-десериализация перечислений и значений - PullRequest
0 голосов
/ 17 сентября 2010

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

Поскольку эти классы могут быть разными, valueOf может потенциально вызываться при десериализации для константы, которая не 'существует, вызывая исключение во время выполнения.

Я не верю, что valueOf может быть переопределено, или другой метод, вставленный пользователем перед вызовом valueOf во время десериализации.

Есть ли способ избежать этой проблемы с перечислениями?

1 Ответ

5 голосов
/ 17 сентября 2010

Основная проблема заключается в том, что в вашей распределенной системе есть enum с несовместимым контентом.Лучше всего сначала взглянуть на это.

Паллиативным было бы использовать метод readObject () в ваших чувствительных классах и перехватывать исключения из-за неправильных значений перечисления.

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