akka/akka-core
Persistence with Jackson trying to cast all Map keys to String
Aperta
#28.566 aperta il 4 feb 2020
1 - triagedhelp wantedt:docst:serialization
Metriche repository
- Star
- (13.277 stelle)
- Metriche merge PR
- (Merge medio 8g 19h) (10 PR mergiate in 30 g)
Descrizione
scalaVersion "2.13.1" akkaVersion = "2.6.1"
akka {
actor {
serializers {
jackson-json = "akka.serialization.jackson.JacksonJsonSerializer"
jackson-cbor = "akka.serialization.jackson.JacksonCborSerializer"
}
serialization-bindings {
"xxx.CborSerializable" = jackson-cbor
}
}
}
trait CborSerializable
final case class State(data:Map[Long,List[String]]) extends CborSerializable
// persist something with typed persistent actor. eg. 42 -> List()
// after snapshot recovery
state.data.get(42) // should be Some, but it is None
state.data.find(_._1 == 42) // throws ex
Exception is
class java.lang.String cannot be cast to class java.lang.Long (java.lang.String and java.lang.Long are in module java.base of loader 'bootstrap') java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Long (java.lang.String and java.lang.Long are in module java.base of loader 'bootstrap')