diff --git a/akka-actor-tests/src/test/scala/akka/serialization/akka-serializer.conf b/akka-actor-tests/src/test/scala/akka/serialization/akka-serializer.conf index 324adb5c96..d1e948840e 100644 --- a/akka-actor-tests/src/test/scala/akka/serialization/akka-serializer.conf +++ b/akka-actor-tests/src/test/scala/akka/serialization/akka-serializer.conf @@ -7,7 +7,7 @@ akka { default = "akka.serialization.JavaSerializer" } - bindings { + serialization-bindings { java = ["akka.serialization.SerializeSpec$Address", "akka.serialization.MyJavaSerializableActor", "akka.serialization.MyStatelessActorWithMessagesInMailbox", "akka.serialization.MyActorWithProtobufMessagesInMailbox"] sjson = ["akka.serialization.SerializeSpec$Person"] proto = ["com.google.protobuf.Message", "akka.actor.ProtobufProtocol$MyMessage"] diff --git a/akka-actor/src/main/scala/akka/config/Config.scala b/akka-actor/src/main/scala/akka/config/Config.scala index d1f8412d1a..1dc2fa4cf2 100644 --- a/akka-actor/src/main/scala/akka/config/Config.scala +++ b/akka-actor/src/main/scala/akka/config/Config.scala @@ -122,7 +122,7 @@ object Config { val serializers = config.getSection("akka.actor.serializers").map(_.map).getOrElse(Map("default" -> "akka.serialization.JavaSerializer")) - val bindings = config.getSection("akka.actor.bindings") + val bindings = config.getSection("akka.actor.serialization-bindings") .map(_.map) .map(m ⇒ Map() ++ m.map { case (k, v: List[String]) ⇒ Map() ++ v.map((_, k)) }.flatten) diff --git a/akka-cluster/src/main/scala/akka/cluster/zookeeper/AkkaZkClient.scala b/akka-cluster/src/main/scala/akka/cluster/zookeeper/AkkaZkClient.scala index a30fc41932..dfa8ed8be8 100644 --- a/akka-cluster/src/main/scala/akka/cluster/zookeeper/AkkaZkClient.scala +++ b/akka-cluster/src/main/scala/akka/cluster/zookeeper/AkkaZkClient.scala @@ -7,7 +7,7 @@ import org.I0Itec.zkclient._ import org.I0Itec.zkclient.serialize._ import org.I0Itec.zkclient.exception._ -import akka.event.EventHandler +//import akka.event.EventHandler /** * ZooKeeper client. Holds the ZooKeeper connection and manages its session. @@ -18,7 +18,7 @@ class AkkaZkClient(zkServers: String, zkSerializer: ZkSerializer = new SerializableSerializer) extends ZkClient(zkServers, sessionTimeout, connectionTimeout, zkSerializer) { - EventHandler.debug(this, "Connecting to ZooKeeper ensamble [%s]" format zkServers) + // EventHandler.debug(this, "Connecting to ZooKeeper ensamble [%s]" format zkServers) def connection: ZkConnection = _connection.asInstanceOf[ZkConnection] diff --git a/akka-remote/src/main/scala/akka/serialization/Serializer.scala b/akka-remote/src/main/scala/akka/serialization/Serializer.scala deleted file mode 100644 index 7ac3eea2df..0000000000 --- a/akka-remote/src/main/scala/akka/serialization/Serializer.scala +++ /dev/null @@ -1,39 +0,0 @@ -package akka.serialization - -/** - * Copyright (C) 2009-2011 Scalable Solutions AB - */ - -import java.io.{ ObjectOutputStream, ByteArrayOutputStream, ObjectInputStream, ByteArrayInputStream } -import akka.util.ClassLoaderObjectInputStream -import akka.actor.ActorRef - -trait Serializer extends scala.Serializable { - def toBinary(o: AnyRef): Array[Byte] - def fromBinary(bytes: Array[Byte], clazz: Option[Class[_]] = None, classLoader: Option[ClassLoader] = None): AnyRef -} - -class JavaSerializer extends Serializer { - def toBinary(o: AnyRef): Array[Byte] = { - val bos = new ByteArrayOutputStream - val out = new ObjectOutputStream(bos) - out.writeObject(o) - out.close() - bos.toByteArray - } - - def fromBinary(bytes: Array[Byte], clazz: Option[Class[_]] = None, - classLoader: Option[ClassLoader] = None): AnyRef = { - val in = - if (classLoader.isDefined) new ClassLoaderObjectInputStream(classLoader.get, new ByteArrayInputStream(bytes)) else - new ObjectInputStream(new ByteArrayInputStream(bytes)) - val obj = in.readObject - in.close() - obj - } -} - -object JavaSerializer extends JavaSerializer -object Serializer { - val defaultSerializerName = JavaSerializer.getClass.getName -} diff --git a/config/akka-reference.conf b/config/akka-reference.conf index edd36f3c92..85a14d243c 100644 --- a/config/akka-reference.conf +++ b/config/akka-reference.conf @@ -137,6 +137,26 @@ akka { message-time-to-live = 120 } } + + # Entries for pluggable serializers and their bindings. If a binding for a specific class is not found, + # then the default serializer (Java serialization) is used. + # + # serializers { + # java = "akka.serialization.JavaSerializer" + # proto = "akka.testing.ProtobufSerializer" + # sjson = "akka.testing.SJSONSerializer" + # default = "akka.serialization.JavaSerializer" + # } + + # serialization-bindings { + # java = ["akka.serialization.SerializeSpec$Address", + # "akka.serialization.MyJavaSerializableActor", + # "akka.serialization.MyStatelessActorWithMessagesInMailbox", + # "akka.serialization.MyActorWithProtobufMessagesInMailbox"] + # sjson = ["akka.serialization.SerializeSpec$Person"] + # proto = ["com.google.protobuf.Message", + # "akka.actor.ProtobufProtocol$MyMessage"] + # } } cluster {