我有一个Akka ActorSystem的设置,如下所示:
akka {
actor{
provider = ""Akka.Remote.RemoteActorRefProvider, Akka.Remote""
deployment {
/remoteecho {
remote = ""akka.tcp://Target@{0}""
}
}
}
}
我想要做的是用另一个值代替{0}。我发现这样做的唯一方法是使用Typesafe for Java,但我使用的是C#。
答案 0 :(得分:0)
与任何其他配置格式一样,HOCON专为静态配置而设计。但是,您可以将多个HOCON配置字符串作为 fallbacks 附加,这意味着如果在顶级配置中找不到搜索到的配置密钥,则读者将使用下一个后备配置来查找正确的密钥 - 值。这是一个递归操作。
如果要动态配置这些值,您有两个选择。
ActorSystem.Create(name, ConfigurationFactory.ParseString(hoconString))
中初始化它。如果必须先初始化actor系统,可以使用actorSystem.Settings.InjectTopLevelFallback(ConfigurationFactory.ParseString(hoconString))
更新配置。请记住,只有在应用配置后,这些更改才会适用。此外,一些Akka.NET插件可能会缓存配置设置,并且可能不会对这些更改做出反应。所以要小心谨慎。Props
类来完成,该类用于定义actor的所有构建模式。示例:actorSystem.ActorOf(Props.Create(() => new MyActor()).WithDeploy(new Deploy(new RemoteScope(Address.Parse(remoteAddress)))))
。