Coherence:3.7.1.6-How to implement POFSerialiser Using The Evolvable/AbstractEvolvable
(Doc ID 1510704.1)
Last updated on DECEMBER 19, 2023
Applies to:
Oracle Coherence - Version 3.7.1.6 and laterInformation in this document applies to any platform.
Goal
Business Requirement scenario as below:
We are writing the POFSerializer classes for all of our Domain objects to make them backward compatible using the Evolvable interface. We have implemented the POFSeriablizable (CarTypeDisplayRankPofSerializer) for the Domain object (CarTypeDisplayRank) With the Serializer. How to implement the Evolvable interface?
Do we need to implement the Evolvable on the Domain object?
http://coherencedownunder.wordpress.com/2012/08/30/evolving-your-cache-object-online/
The only Question:
If we add a new attribute to the Object(Address) which is part of the Person, How do we need to modify the serialization routine to handle this? As when we do the serialize/deserializer. the whole object structure is in a single stream.
Here is the Person class & Address class in the old
public class Person {
String firstname;
String lastName;
Address address;
String emailAddress;
}
public class Address {
String address1;
String address2;
String cityName,
String stateCode;
String zipCode;
}
Now adding an attribute to the Address class in the new release
public class Address {
String address1;
String address2;
String cityName,
String stateCode;
String zipCode;
String countryCode;
}
How does the Evolvable interface need to be implemented for this as when we do the serialize & deserialize. We do this on Person object which has address. So, If I do the readReminder() on the PofReader then it will read the whole stream in the old version which causes EOFException when I try to read the emailAddress of the Person object as it was after the Address.
Please answer considering the above scenario.
Solution
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Goal |
Solution |