Redis Session Serializer stimmt nicht mit 3.2 und 4.2 überein

Ich habe eine Spring Cloud-basierte Anwendung, die auf mehreren Spring Boot-Servern ausgeführt wird. Alle Server teilen sich mithilfe von @ EnableRedisHttpSession die gleiche Frühjahrssitzung.

Ich möchte jetzt ein Drittanbieter-Widget in meine Anwendung integrieren. Bei der Arbeit mit dem Drittanbieter konnte die Erstkonfiguration ausgeführt werden, aber ich scheitere, wenn der Drittanbieter versucht, auf die Redis-Sitzungsdaten zuzugreifen. Dies liegt daran, dass ich Spring 4 verwende und der Drittanbieter Spring 3.2 verwendet. Ich kann die Spring-Version des Drittanbieters nicht aktualisieren.

Die Ausnahme ist:

org.springframework.data.redis.serializer.SerializationException: Cannot deserialize; nested exception is     
    org.springframework.core.serializer.support.SerializationFailedException:     
Failed to deserialize payload. Is the byte array a result of corresponding     serialization for DefaultDeserializer?; nested exception is     
java.io.InvalidClassException:     org.springframework.security.core.context.SecurityContextImpl; local class     incompatible: stream classdesc serialVersionUID = 400, local class     serialVersionUID = 320
Caused by: java.io.InvalidClassException: 
org.springframework.security.core.context.SecurityContextImpl; local class incompatible: stream classdesc serialVersionUID = 400, local class serialVersionUID = 320
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:616) ~[na:1.8.0_66]
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623) ~[na:1.8.0_66]
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518) ~[na:1.8.0_66]    
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774) ~[na:1.8.0_66]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) ~[na:1.8.0_66]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) ~[na:1.8.0_66]
at org.springframework.core.serializer.DefaultDeserializer.deserialize(DefaultDeserializer.java:41) ~[spring-core-4.0.6.RELEASE.jar:4.0.6.RELEASE]
at org.springframework.core.serializer.support.DeserializingConverter.convert(DeserializingConverter.java:59) ~[spring-core-4.0.6.RELEASE.jar:4.0.6.RELEASE]
... 66 common frames omitted

Gibt es eine Möglichkeit, einfach zwischen den beiden Versionen zu übersetzen?

Antworten auf die Frage(0)

Ihre Antwort auf die Frage