What are the valid and invalid reasons for incrementing the version ID of a class definition that implements Serializable?
In other words what will introduce a write-then-read incompatibility? Is there any way that a change to a method can introduce an incompatibility? Is there any way refactoring can introduce an incompatibility?
Edit Reading the links and answers I see that the programmer defined ID is the way to take control of an automatic ID that makes objects too brittle. If I control the ID, then I need to know the exact rules for managing it.
Answer
From Oracle, the list of compatible and incompatible changes. To address the question, bumping the ID is unnecessary ("invalid") if the change is compatible and "valid" if the change is incompatible.
No comments:
Post a Comment