diff --git a/akka-docs/scala/code/akka/docs/serialization/SerializationDocSpec.scala b/akka-docs/scala/code/akka/docs/serialization/SerializationDocSpec.scala index 487f2e52b9..d28f3e1ac1 100644 --- a/akka-docs/scala/code/akka/docs/serialization/SerializationDocSpec.scala +++ b/akka-docs/scala/code/akka/docs/serialization/SerializationDocSpec.scala @@ -131,4 +131,32 @@ class SerializationDocSpec extends AkkaSpec { SerializationExtension(a).serializerFor(classOf[java.lang.Boolean]).getClass.getName must equal("akka.docs.serialization.MyOwnSerializer") a.shutdown() } + + "demonstrate the programmatic API" in { + //#programmatic + val system = ActorSystem("example") + + // Get the Serialization Extension + val serialization = SerializationExtension(system) + + // Have something to serialize + val original = "woohoo" + + // Find the Serializer for it + val serializer = serialization.findSerializerFor(original) + + // Turn it into bytes + val bytes = serializer.toBinary(original) + + // Turn it back into an object + val back = serializer.fromBinary(bytes, + manifest = None, + classLoader = None) + + // Voilá! + back must equal(original) + + //#programmatic + system.shutdown() + } } diff --git a/akka-docs/scala/serialization.rst b/akka-docs/scala/serialization.rst index 2c71020cb8..716bcc4eb7 100644 --- a/akka-docs/scala/serialization.rst +++ b/akka-docs/scala/serialization.rst @@ -66,6 +66,14 @@ If you want to verify that your ``Props`` are serializable you can enable the fo Programmatic ------------ +If you want to programmatically serialize/deserialize using Akka Serialization, +here's some examples: + +.. includecode:: code/akka/docs/serialization/SerializationDocSpec.scala + :include: imports,programmatic + +For more information, have a look at the ``ScalaDoc`` for ``akka.serialization._`` + Customization =============