Tal*_*sar 1 scala akka typesafe-config
模式关键字 withFallback 代表什么以及它是如何使用的。
有人可以帮助使用此语法并提供一些示例。
对 withFallback 的调用如何使用?
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")
}
Run Code Online (Sandbox Code Playgroud)
你能提供其他使用它的例子吗?
Akka 使用 typesafe-config lib,而后者又使用 HOCON 格式,用于配置文件。你可以在这里阅读它。
withFallBack
允许合并两个不同的配置,第一个优先于第二个。
例如:
配置文件1
foo.bar = baz
foo.baz = bar
Run Code Online (Sandbox Code Playgroud)
配置文件
bar.baz = foo
foo.baz = foo
Run Code Online (Sandbox Code Playgroud)
然后对于conf = conf1.withFallback(conf2)
:
conf.getString("foo.bar") == "baz"
conf.getString("foo.baz") == "bar"
conf.getString("bar.baz") == "foo"
Run Code Online (Sandbox Code Playgroud)