java - AKKA 中如何读取配置

标签 java maven configuration akka

我正在为用 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/

相关文章:

spring-mvc - spring-boot-starter-web 中默认的 JSON 错误响应来自哪里以及如何调整它?

java - 如何增加 Android 中的堆大小?

java - 允许不同的参数而不重载方法?

java - 如何使用 servlet 下载文件 (.EXE)?

java - 漏洞?无法加载配置中指定的记录器[akka.testkit.TestEventListener]?

java - 谷歌应用程序引擎上的 JPA 类型 ("XXX")不是实体的实体,但需要用于此操作

java - 在使用 commons-beanutils 的项目的 mvn clean build 上出现 Maven 错误 - 'parent.artifactId' 必须更改

java - 如何读取eclipse动态web项目中的配置文件?

用于容纳应用程序配置的 Azure 表存储

java - Spring OAuth2客户端,CSRF保护