gpt4 book ai didi

java - AKKA 中如何读取配置

转载 作者:行者123 更新时间:2023-11-30 06:50:07 25 4
gpt4 key购买 nike

我正在为用 java 编写的 akka 应用程序创建自定义配置,如下所示

应用程序.conf

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 文档 http://doc.akka.io/docs/akka/2.4/general/configuration.html

  • Akka 使用 Typesafe Config Library,对于使用或不使用 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'
}
}

也可以使用withFallback方法 http://doc.akka.io/docs/akka/2.4/general/configuration.html#Reading_configuration_from_a_custom_location

假设您有另一个名为 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

在这里你可以找到例子:

https://github.com/typesafehub/config/tree/master/examples/java

关于java - AKKA 中如何读取配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41728829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com