简体   繁体   中英

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?

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM