akka.actor.typed {

  # List FQCN of `akka.actor.typed.ExtensionId`s which shall be loaded at actor system startup.
  # Should be on the format: 'extensions = ["com.example.MyExtId1", "com.example.MyExtId2"]' etc.
  # See the Akka Documentation for more info about Extensions
  extensions = []

  # List FQCN of extensions which shall be loaded at actor system startup.
  # Library extensions are regular extensions that are loaded at startup and are
  # available for third party library authors to enable auto-loading of extensions when
  # present on the classpath. This is done by appending entries:
  # 'library-extensions += "Extension"' in the library `reference.conf`.
  #
  # Should not be set by end user applications in 'application.conf', use the extensions property for that
  #
  library-extensions = ${?akka.actor.typed.library-extensions} []

  # Receptionist is started eagerly to allow clustered receptionist to gather remote registrations early on.
  library-extensions += "akka.actor.typed.receptionist.Receptionist"
}

# Load typed extensions by an untyped unextension.
akka.library-extensions += "akka.actor.typed.internal.adapter.ActorSystemAdapter$LoadTypedExtensions"

akka.actor {
  serializers {
    typed-misc = "akka.actor.typed.internal.MiscMessageSerializer"
    service-key = "akka.actor.typed.internal.receptionist.ServiceKeySerializer"
  }

  serialization-identifiers {
    "akka.actor.typed.internal.MiscMessageSerializer" = 24
    "akka.actor.typed.internal.receptionist.ServiceKeySerializer" = 26
  }

  serialization-bindings {
    "akka.actor.typed.ActorRef" = typed-misc
    "akka.actor.typed.internal.adapter.ActorRefAdapter" = typed-misc
    "akka.actor.typed.internal.receptionist.DefaultServiceKey" = service-key
  }
}
