Package akka.remote.serialization
Class ProtobufSerializer
- java.lang.Object
-
- akka.remote.serialization.ProtobufSerializer
-
- All Implemented Interfaces:
BaseSerializer
,Serializer
public class ProtobufSerializer extends java.lang.Object implements BaseSerializer
Using theserialization-bindings
as source for the whitelist. Note that the intended usage of serialization-bindings is for lookup of serializer when serializing (toBinary
). For deserialization (fromBinary
) the serializer-id is used for selecting serializer. Here we useserialization-bindings
also when deserializing (fromBinary) to check that the manifest class is of a known (registered) type.If an old class is removed from
serialization-bindings
when it's not used for serialization but still used for deserialization (e.g. rolling update with serialization changes) it can be allowed by specifying inakka.protobuf.whitelist-class
.That is also possible when changing a binding from a ProtobufSerializer to another serializer (e.g. Jackson) and still bind with the same class (interface).
-
-
Constructor Summary
Constructors Constructor Description ProtobufSerializer(ExtendedActorSystem system)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
akka$serialization$BaseSerializer$_setter_$identifier_$eq(int x$1)
static ActorRef
deserializeActorRef(ExtendedActorSystem system, WireFormats.ActorRefData refProtocol)
Helper to materialize (lookup) anActorRef
from Akka's protobuf representation in the suppliedActorSystem
.java.lang.Object
fromBinary(byte[] bytes, scala.Option<java.lang.Class<?>> manifest)
Produces an object from an array of bytes, with an optional type-hint; the class should be loaded using ActorSystem.dynamicAccess.int
identifier()
Globally unique serialization identifier configured in thereference.conf
.boolean
includeManifest()
Returns whether this serializer needs a manifest in the fromBinary methodstatic WireFormats.ActorRefData
serializeActorRef(ActorRef ref)
Helper to serialize anActorRef
to Akka's protobuf representation.ExtendedActorSystem
system()
Actor system which is required by most serializer implementations.byte[]
toBinary(java.lang.Object obj)
Serializes the given object into an Array of Byte-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface akka.serialization.BaseSerializer
identifierFromConfig, SerializationIdentifiers
-
Methods inherited from interface akka.serialization.Serializer
fromBinary, fromBinary
-
-
-
-
Constructor Detail
-
ProtobufSerializer
public ProtobufSerializer(ExtendedActorSystem system)
-
-
Method Detail
-
serializeActorRef
public static WireFormats.ActorRefData serializeActorRef(ActorRef ref)
Helper to serialize anActorRef
to Akka's protobuf representation.- Parameters:
ref
- (undocumented)- Returns:
- (undocumented)
-
deserializeActorRef
public static ActorRef deserializeActorRef(ExtendedActorSystem system, WireFormats.ActorRefData refProtocol)
Helper to materialize (lookup) anActorRef
from Akka's protobuf representation in the suppliedActorSystem
.- Parameters:
system
- (undocumented)refProtocol
- (undocumented)- Returns:
- (undocumented)
-
identifier
public int identifier()
Description copied from interface:BaseSerializer
Globally unique serialization identifier configured in thereference.conf
.See
Serializer.identifier
.- Specified by:
identifier
in interfaceBaseSerializer
- Specified by:
identifier
in interfaceSerializer
- Returns:
- (undocumented)
-
akka$serialization$BaseSerializer$_setter_$identifier_$eq
protected void akka$serialization$BaseSerializer$_setter_$identifier_$eq(int x$1)
- Specified by:
akka$serialization$BaseSerializer$_setter_$identifier_$eq
in interfaceBaseSerializer
-
system
public ExtendedActorSystem system()
Description copied from interface:BaseSerializer
Actor system which is required by most serializer implementations.- Specified by:
system
in interfaceBaseSerializer
- Returns:
- (undocumented)
-
includeManifest
public boolean includeManifest()
Description copied from interface:Serializer
Returns whether this serializer needs a manifest in the fromBinary method- Specified by:
includeManifest
in interfaceSerializer
- Returns:
- (undocumented)
-
fromBinary
public java.lang.Object fromBinary(byte[] bytes, scala.Option<java.lang.Class<?>> manifest)
Description copied from interface:Serializer
Produces an object from an array of bytes, with an optional type-hint; the class should be loaded using ActorSystem.dynamicAccess.- Specified by:
fromBinary
in interfaceSerializer
- Parameters:
bytes
- (undocumented)manifest
- (undocumented)- Returns:
- (undocumented)
-
toBinary
public byte[] toBinary(java.lang.Object obj)
Description copied from interface:Serializer
Serializes the given object into an Array of Byte- Specified by:
toBinary
in interfaceSerializer
- Parameters:
obj
- (undocumented)- Returns:
- (undocumented)
-
-