Hello. We have started to use hazelcast to serialize and persist the http sessions across our servers. To make this work, we had to make sure that everything we store in the session is Serializable. We also did some tricks to make sure hazelcast does not share the session between environments (production versus test..). A modern web app should probably not use sessions at all, but this is a old big one.
A nice bonus effect is that we now can upgrade our application (using jenkins) without anyone being logged out of their session. We use sticky session with fallback, so the user switch to a working server when their server is being upgraded. So far so good. Should we add serialVersionUID to our CayenneDataObject subclasses or not? So far, I have added it to some of the CDOs.. It is working fine, but upgrades to a new version that might change the generated serialVersionUID might lead to java.io.InvalidClassException ... local class incompatible error. So, what is best practice for serializing CDOs across changes to the class? Regards, Tore Halset.
