enable misc serializers by default for Artery, #21339
* placed them in a new section additional-serialization-bindings, which is included by default when Artery is enabled * can also be enabled with enable-additional-serialization-bindings flag to simplify usage with old remoting * added a JavaSerializable marker trait that is bound to JavaSerializer in testkit, this can be used in tests so that we eventually can run tests without the java.io.Serializable binding
This commit is contained in:
parent
02de58392a
commit
97e0628173
12 changed files with 70 additions and 31 deletions
|
|
@ -34,12 +34,20 @@ object Serialization {
|
|||
private[akka] val currentTransportInformation = new DynamicVariable[Information](null)
|
||||
|
||||
class Settings(val config: Config) {
|
||||
val Serializers: Map[String, String] = configToMap("akka.actor.serializers")
|
||||
val SerializationBindings: Map[String, String] = configToMap("akka.actor.serialization-bindings")
|
||||
val Serializers: Map[String, String] = configToMap(config.getConfig("akka.actor.serializers"))
|
||||
val SerializationBindings: Map[String, String] = {
|
||||
val defaultBindings = config.getConfig("akka.actor.serialization-bindings")
|
||||
val bindings =
|
||||
if (config.getBoolean("akka.actor.enable-additional-serialization-bindings") ||
|
||||
config.getBoolean("akka.remote.artery.enabled"))
|
||||
defaultBindings.withFallback(config.getConfig("akka.actor.additional-serialization-bindings"))
|
||||
else defaultBindings
|
||||
configToMap(bindings)
|
||||
}
|
||||
|
||||
private final def configToMap(path: String): Map[String, String] = {
|
||||
private final def configToMap(cfg: Config): Map[String, String] = {
|
||||
import scala.collection.JavaConverters._
|
||||
config.getConfig(path).root.unwrapped.asScala.toMap map { case (k, v) ⇒ (k → v.toString) }
|
||||
cfg.root.unwrapped.asScala.toMap map { case (k, v) ⇒ (k → v.toString) }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue