Add serializer for akka.NotUsed (#24599) (#24600)

This commit is contained in:
Francisco José Bermejo Herrera 2018-03-05 17:38:17 +01:00 committed by Johannes Rudolph
parent d9249226c0
commit 6646eded2c
4 changed files with 12 additions and 5 deletions

View file

@ -55,6 +55,7 @@ You can enable them one by one adding by adding their bindings to the misc seria
``` ```
akka.actor.serialization-bindings { akka.actor.serialization-bindings {
"akka.Done" = akka-misc "akka.Done" = akka-misc
"akka.NotUsed" = akka-misc
"akka.actor.Address" = akka-misc "akka.actor.Address" = akka-misc
"akka.remote.UniqueAddress" = akka-misc "akka.remote.UniqueAddress" = akka-misc
} }

View file

@ -52,9 +52,10 @@ akka {
# The following are handled by the MiscMessageSerializer, but they are not enabled for # The following are handled by the MiscMessageSerializer, but they are not enabled for
# compatibility reasons (it was added in Akka 2.5.[8,9]). Enable them by adding: # compatibility reasons (it was added in Akka 2.5.[8,9,12]). Enable them by adding:
# akka.actor.serialization-bindings { # akka.actor.serialization-bindings {
# "akka.Done" = akka-misc # "akka.Done" = akka-misc
# "akka.NotUsed" = akka-misc
# "akka.actor.Address" = akka-misc # "akka.actor.Address" = akka-misc
# "akka.remote.UniqueAddress" = akka-misc # "akka.remote.UniqueAddress" = akka-misc
# } # }
@ -129,6 +130,7 @@ akka {
# Additional serialization bindings which are enabled automatically when allow-java-serialization is disabled. # Additional serialization bindings which are enabled automatically when allow-java-serialization is disabled.
java-serialization-disabled-additional-serialization-bindings = { java-serialization-disabled-additional-serialization-bindings = {
"akka.Done" = akka-misc "akka.Done" = akka-misc
"akka.NotUsed" = akka-misc
"akka.actor.Address" = akka-misc "akka.actor.Address" = akka-misc
"akka.remote.UniqueAddress" = akka-misc "akka.remote.UniqueAddress" = akka-misc
} }

View file

@ -8,7 +8,7 @@ import java.nio.charset.StandardCharsets
import java.util.Optional import java.util.Optional
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
import akka.Done import akka.{ Done, NotUsed }
import akka.actor._ import akka.actor._
import akka.dispatch.Dispatchers import akka.dispatch.Dispatchers
import akka.remote.WireFormats.AddressData import akka.remote.WireFormats.AddressData
@ -46,6 +46,7 @@ class MiscMessageSerializer(val system: ExtendedActorSystem) extends SerializerW
case Kill ParameterlessSerializedMessage case Kill ParameterlessSerializedMessage
case RemoteWatcher.Heartbeat ParameterlessSerializedMessage case RemoteWatcher.Heartbeat ParameterlessSerializedMessage
case Done ParameterlessSerializedMessage case Done ParameterlessSerializedMessage
case NotUsed ParameterlessSerializedMessage
case hbrsp: RemoteWatcher.HeartbeatRsp serializeHeartbeatRsp(hbrsp) case hbrsp: RemoteWatcher.HeartbeatRsp serializeHeartbeatRsp(hbrsp)
case rs: RemoteScope serializeRemoteScope(rs) case rs: RemoteScope serializeRemoteScope(rs)
case LocalScope ParameterlessSerializedMessage case LocalScope ParameterlessSerializedMessage
@ -288,6 +289,7 @@ class MiscMessageSerializer(val system: ExtendedActorSystem) extends SerializerW
private val KillManifest = "K" private val KillManifest = "K"
private val RemoteWatcherHBManifest = "RWHB" private val RemoteWatcherHBManifest = "RWHB"
private val DoneManifest = "DONE" private val DoneManifest = "DONE"
private val NotUsedManifest = "NU"
private val AddressManifest = "AD" private val AddressManifest = "AD"
private val UniqueAddressManifest = "UD" private val UniqueAddressManifest = "UD"
private val RemoteWatcherHBRespManifest = "RWHR" private val RemoteWatcherHBRespManifest = "RWHR"
@ -319,6 +321,7 @@ class MiscMessageSerializer(val system: ExtendedActorSystem) extends SerializerW
KillManifest ((_) Kill), KillManifest ((_) Kill),
RemoteWatcherHBManifest ((_) RemoteWatcher.Heartbeat), RemoteWatcherHBManifest ((_) RemoteWatcher.Heartbeat),
DoneManifest ((_) Done), DoneManifest ((_) Done),
NotUsedManifest ((_) NotUsed),
AddressManifest deserializeAddressData, AddressManifest deserializeAddressData,
UniqueAddressManifest deserializeUniqueAddress, UniqueAddressManifest deserializeUniqueAddress,
RemoteWatcherHBRespManifest deserializeHeartbeatRsp, RemoteWatcherHBRespManifest deserializeHeartbeatRsp,
@ -352,6 +355,7 @@ class MiscMessageSerializer(val system: ExtendedActorSystem) extends SerializerW
case Kill KillManifest case Kill KillManifest
case RemoteWatcher.Heartbeat RemoteWatcherHBManifest case RemoteWatcher.Heartbeat RemoteWatcherHBManifest
case Done DoneManifest case Done DoneManifest
case NotUsed NotUsedManifest
case _: Address AddressManifest case _: Address AddressManifest
case _: UniqueAddress UniqueAddressManifest case _: UniqueAddress UniqueAddressManifest
case _: RemoteWatcher.HeartbeatRsp RemoteWatcherHBRespManifest case _: RemoteWatcher.HeartbeatRsp RemoteWatcherHBRespManifest

View file

@ -5,7 +5,7 @@
package akka.remote.serialization package akka.remote.serialization
import akka.actor._ import akka.actor._
import akka.remote.{ RemoteScope, RemoteWatcher, UniqueAddress } import akka.remote.{ RemoteScope, RemoteWatcher }
import akka.serialization.SerializationExtension import akka.serialization.SerializationExtension
import akka.testkit.AkkaSpec import akka.testkit.AkkaSpec
import com.typesafe.config.ConfigFactory import com.typesafe.config.ConfigFactory
@ -15,8 +15,7 @@ import scala.concurrent.duration._
import java.util.Optional import java.util.Optional
import java.io.NotSerializableException import java.io.NotSerializableException
import akka.Done import akka.{ Done, NotUsed }
import akka.remote.ArteryControlFormats.UniqueAddress
import akka.remote.routing.RemoteRouterConfig import akka.remote.routing.RemoteRouterConfig
import akka.routing._ import akka.routing._
@ -88,6 +87,7 @@ class MiscMessageSerializerSpec extends AkkaSpec(MiscMessageSerializerSpec.testC
"RemoteWatcher.Heartbeat" RemoteWatcher.Heartbeat, "RemoteWatcher.Heartbeat" RemoteWatcher.Heartbeat,
"RemoteWatcher.HertbeatRsp" RemoteWatcher.HeartbeatRsp(65537), "RemoteWatcher.HertbeatRsp" RemoteWatcher.HeartbeatRsp(65537),
"Done" Done, "Done" Done,
"NotUsed" NotUsed,
"Address" Address("akka", "system", "host", 1337), "Address" Address("akka", "system", "host", 1337),
"UniqueAddress" akka.remote.UniqueAddress(Address("akka", "system", "host", 1337), 82751), "UniqueAddress" akka.remote.UniqueAddress(Address("akka", "system", "host", 1337), 82751),
"LocalScope" LocalScope, "LocalScope" LocalScope,