-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

To whom it may concern,

On 10/22/14 3:20 PM, spr...@gmx.eu wrote:
> when I deploy a new app version with incompatible serialization
> version of same classes I get:
> 
> java.io.InvalidClassException: 
> org.hibernate.collection.internal.AbstractPersistentCollection;
> local class incompatible: stream classdesc serialVersionUID =
> -8914173462748164853, local class serialVersionUID =
> -7238232378593030571, at 
> java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:615),
> at 
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620),
>
> 
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515),
> at
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620),
>
> 
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515),
> at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769),
>
> 
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348),  at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989),
>
> 
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1913),
> at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796),
>
> 
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348),  at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989),
>
> 
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1913),
> at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796),
>
> 
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348),  at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989),
>
> 
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1913),
> at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796),
>
> 
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348),  at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989),
>
> 
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1913),
> at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796),
>
> 
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348),  at
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:370),
> at 
> org.apache.catalina.session.StandardSession.readObject(StandardSession.java:
>
> 
1595),  at
> org.apache.catalina.session.StandardSession.readObjectData(StandardSession.j
>
> 
ava:1060),      at
> org.apache.catalina.session.JDBCStore.load(JDBCStore.java:657),       at 
> org.apache.catalina.session.StoreBase.processExpires(StoreBase.java:159),
>
> 
at
> 
> Is there something in Tomcat to configure that can solve this
> problem?

No. You will have to change your code to make it
serialization-compatible with the old code if you don't want to have
this problem.

You can configure Tomcat not to serialize sessions, but then you
obviously don't get the benefit of persisting sessions across a restart.

> If not, how to handle such a problem? Especially in clusters where
> servers get updated one by one and not all at once.

Are you using distributed sessions? If so, you'll have to override the
internal serialization mechanism and do it all manually in a way that
is going to be cross-version-compatible.

It's not impossible, but it does take some planning and forethought.

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJUSDKhAAoJEBzwKT+lPKRYiSsP/3SBlNzlA86+FU4c6KqsDhcv
5FdM/pkaKd2gQPf+m2PQMDG/LhOzfJUW8S65xTlg2YfTRFx7XBB4O0xHm7SZBH0B
/Z0jSsbFHruZDesvdE+NM/5C4c2DjiC90ndk6YK3kHy1CCZQsDWuSGfoXe50IR6u
MrCV842trrs0PpBngjbFh4Ha0UDuk8ZpRmw0dJ4V4a3Cta7jNZO3cQY0/vPqhNs+
hJ8GcEYpnqnltSrlwI3Eht5ckuZenarLiHl2o16sV2XL/VLoDwWN2+bajXkT6bb2
DOqMBys3fWUnu5icnCccbtT36GjSPsMqpwPfEStxb5arJzNYi1rz+B3OX8RTAFrX
01QOqz8zMo0tYS6UkCyVFIQ5mSTQjH0ewgnaOyQjfvakvSkbfjF9XFb8p1PH4LXN
bmO2K4VaOBCu2FQtwsVe+8l9tjvMLTqHniBlm9U7f9ows/JoZqrt1riXtVuXXgOI
QC9gZK4/Xsp9sVpbplc+FLTbsllCUxe/lIsGYV6xEeKHvZroO58cEN3swebYsosm
ro4k9mXK1NwaG8l6byd1R2PzBg/0o49+NpLegCnEX7mf634ZuVFiMApmSZxbW6jE
G+EJmFaGiTTziOqqaTCT40ZfyttbCSE2Oox0mkUOUVPtzUUkL1B72UXeq9X4Bc9i
vuIMhP0bVHwMtPkiCMMh
=XjD+
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to