在akka中,如果在actor中,通过system.settings.config读取全局配置很容易。Akka:如何从非演员对象中读取配置
但是,如果我有一个普通的单例对象需要从actorSystem读取配置,我该怎么做?
假设我不想使用configFactory再次执行相同的配置文件解析/回退。
感谢
莱昂
在akka中,如果在actor中,通过system.settings.config读取全局配置很容易。Akka:如何从非演员对象中读取配置
但是,如果我有一个普通的单例对象需要从actorSystem读取配置,我该怎么做?
假设我不想使用configFactory再次执行相同的配置文件解析/回退。
感谢
莱昂
正如cmbaxter说,如果你有演员系统的引用,使用,如果你不这样做,那么,也许你可以改变你的代码,以便您将有对它的引用。如果这是不可能的,那么你可以使用configFactory读取配置,并把它放在你的单身人员可以访问的地方,并且在你创建时使用该配置作为参数,而不是让它从磁盘读取配置。
object MyConfig {
private val myConfig = ??? // however you want to load your config
private val regularConfig = ConfigFactory.load();
// now you can access it from anywhere you want
val config = myConfig.withFallback(regularConfig);
}
别的地方:
val system = ActorSystem("my-system", MyConfig.config)
实际上,它是一个完全独立的零依赖库:https://github.com/typesafehub/config – 2014-09-08 19:45:03
如果你有到'ActorSystem'本身的引用,那么它为'system.settings.config'容易(假设裁判被称为'system') 。如果你没有对'ActorSystem'的引用,那么不知道你能做什么。 – cmbaxter 2014-09-02 16:04:37