AntonBoarf
AntonBoarf

Reputation: 1313

Akka remote configuration issue

There's something I don't understand about akka.conf configuration file when working with Akka actor model (for Java but must be the same for Scala).

For example when using remote module :

I sometimes see something like this :

akka {
  actor {
    provider = "akka.remote.RemoteActorRefProvider"
  }
  
  remote {

And sometimes :

akka {
  actor {
    provider = remote
  }
  
  remote {

First whatis the expected value for key provider ? Sometimes it is a classname, sometimes it is juste remote By the way, why it is remote and not akka.remote considering remote is under akka namespace ?

Upvotes: 0

Views: 491

Answers (1)

Levi Ramsey
Levi Ramsey

Reputation: 20591

From the reference.conf (current at the time of this answer's writing):

akka.actor {
  # Either one of "local", "remote" or "cluster" or the
  # FQCN of the ActorRefProvider to be used; the below is the built-in default,
  # note that "remote" and "cluster" requires the akka-remote and akka-cluster
  # artifacts to be on the classpath.
  provider = "local"

akka.actor.provider is a string which is interpreted on startup. This interpretation occurs by constructing a ProviderSelection (see here). If a fully-qualified class name is provided, that is used. cluster, local (the default, from reference.conf), and remote are synonyms for akka.cluster.ClusterActorRefProvider, akka.actor.LocalActorRefProvider, and akka.remote.RemoteActorRefProvider, respectively.

Upvotes: 3

Related Questions