Java 如何在AKKA中读取配置
我正在为用java编写的akka应用程序创建自定义配置,如下所示 application.confJava 如何在AKKA中读取配置,java,maven,configuration,akka,Java,Maven,Configuration,Akka,我正在为用java编写的akka应用程序创建自定义配置,如下所示 application.conf akka { actor { debug { # enable DEBUG logging of actor lifecycle changes lifecycle = on } } } 我不确定如何加载此配置。文档中不清楚这是否需要在actrSystem创建时显式加载,或者在运行jar时是否需要在类路径中加载。在这两种情况下,我可以看一个例子吗
akka {
actor {
debug {
# enable DEBUG logging of actor lifecycle changes
lifecycle = on
}
}
}
我不确定如何加载此配置。文档中不清楚这是否需要在actrSystem创建时显式加载,或者在运行jar时是否需要在类路径中加载。在这两种情况下,我可以看一个例子吗
这是一个maven项目,配置文件位于src/main/resources下
我看到applucation.conf存在于target/classes下。是吗?使用ConfigFactory,您可以从src/main/resources加载application.conf文件,而不一定需要ActorSystem来使用它 根据akka文件
- Akka使用类型安全配置库,这对于配置您自己的应用程序或使用或不使用Akka构建的库来说也是一个不错的选择。这个库是用Java实现的,没有外部依赖关系;您应该看看它的文档(特别是关于ConfigFactory的文档),下面只对其进行了总结
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
public class ConfigFactoryTest {
public static void main(String[] args) {
Config conf = ConfigFactory.load("application.conf");
System.out.println(conf.getString("akka.actor.debug.lifecycle")); //should be 'on'
}
}
也可以使用带回退的方法
假设您有另一个名为fallback.conf的属性文件
akka {
actor {
fallback = "fallback"
}
}
Config fallback = ConfigFactory.load("fallback.conf")
Config conf = ConfigFactory.load("application.conf").withFallback(fallback);
System.out.println(conf.getString("akka.actor.fallback")); //fallback
您可以在这里找到示例:
谢谢,当我加载此文件时,在哪里可以看到参与者的生命周期日志?每个参与者都需要配置吗?看这里