Deprecation of ExtensionKey #22208

This commit is contained in:
Johan Andrén 2017-02-17 17:07:15 +01:00 committed by GitHub
parent 8f9b4f203a
commit cf6d5a4e8a
7 changed files with 78 additions and 14 deletions

View file

@ -4,6 +4,7 @@
package docs.serialization {
import akka.actor.{ExtensionId, ExtensionIdProvider}
import akka.testkit._
//#imports
import akka.actor.{ ActorRef, ActorSystem }
@ -11,7 +12,6 @@ package docs.serialization {
import com.typesafe.config.ConfigFactory
//#imports
import akka.actor.ExtensionKey
import akka.actor.ExtendedActorSystem
import akka.actor.Extension
import akka.actor.Address
@ -218,7 +218,14 @@ package docs.serialization {
//#actorref-serializer
//#external-address
object ExternalAddress extends ExtensionKey[ExternalAddressExt]
object ExternalAddress extends ExtensionId[ExternalAddressExt] with ExtensionIdProvider {
override def lookup() = ExternalAddress
override def createExtension(system: ExtendedActorSystem): ExternalAddressExt =
new ExternalAddressExt(system)
override def get(system: ActorSystem): ExternalAddressExt = super.get(system)
}
class ExternalAddressExt(system: ExtendedActorSystem) extends Extension {
def addressFor(remoteAddr: Address): Address =
@ -236,7 +243,14 @@ package docs.serialization {
val theActorSystem: ActorSystem = system
//#external-address-default
object ExternalAddress extends ExtensionKey[ExternalAddressExt]
object ExternalAddress extends ExtensionId[ExternalAddressExt] with ExtensionIdProvider {
override def lookup() = ExternalAddress
override def createExtension(system: ExtendedActorSystem): ExternalAddressExt =
new ExternalAddressExt(system)
override def get(system: ActorSystem): ExternalAddressExt = super.get(system)
}
class ExternalAddressExt(system: ExtendedActorSystem) extends Extension {
def addressForAkka: Address = system.provider.getDefaultAddress