2017-05-18 5 views
0

Que signifie le mot-clé pattern withFallback et comment est-il utilisé?Mot-clé withFallback lors de l'utilisation de akka

Quelqu'un peut-il aider avec cette syntaxe et peut-être fournir quelques exemples.

Comment l'appel à withFallback est-il utilisé?

object Worker extends App { 
    val config = 
    (if (args.nonEmpty) ConfigFactory.parseString(s"akka.remote.netty.tcp.port=${args(0)}") 
    else ConfigFactory.empty).withFallback(
     ConfigFactory.parseString("akka.cluster.roles = [worker]")). 
     withFallback(ConfigFactory.load()) 

    val system = ActorSystem("ClusterSystem", config) 
    val worker = system.actorOf(Props(new Worker), name = "worker") 

} 

Pouvez-vous fournir d'autres exemples d'utilisation?

+0

Ceci n'est pas lié à akka, mais à config typeafe. –

Répondre

4

Akka utilise la bibliothèque typesafe-config, qui à son tour utilise le format HOCON, pour les fichiers de configuration. Vous pouvez lire à ce sujet here.

withFallBack permet de fusionner deux configurations différentes, la première ayant la priorité sur la seconde.

Par exemple:

conf1

foo.bar = baz 
foo.baz = bar 

conf2

bar.baz = foo 
foo.baz = foo 

Alors pour conf = conf1.withFallback(conf2):

conf.getString("foo.bar") == "baz" 
conf.getString("foo.baz") == "bar" 
conf.getString("bar.baz") == "foo"