Fix serialization in TypedActor (#24851)
* fixed serialization in TypedActor * generalized duplicates via Serialization.manifestFor
This commit is contained in:
parent
e495dab941
commit
3ebb9fa9c1
18 changed files with 107 additions and 179 deletions
|
|
@ -167,15 +167,8 @@ class MessageSerializer(val system: ExtendedActorSystem) extends BaseSerializer
|
|||
val serializer = serialization.findSerializerFor(payload)
|
||||
val builder = mf.PersistentPayload.newBuilder()
|
||||
|
||||
serializer match {
|
||||
case ser2: SerializerWithStringManifest ⇒
|
||||
val manifest = ser2.manifest(payload)
|
||||
if (manifest != PersistentRepr.Undefined)
|
||||
builder.setPayloadManifest(ByteString.copyFromUtf8(manifest))
|
||||
case _ ⇒
|
||||
if (serializer.includeManifest)
|
||||
builder.setPayloadManifest(ByteString.copyFromUtf8(payload.getClass.getName))
|
||||
}
|
||||
val ms = Serializers.manifestFor(serializer, payload)
|
||||
if (ms.nonEmpty) builder.setPayloadManifest(ByteString.copyFromUtf8(ms))
|
||||
|
||||
builder.setPayload(ByteString.copyFrom(serializer.toBinary(payload)))
|
||||
builder.setSerializerId(serializer.identifier)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue