`
xiefeifeihu
  • 浏览: 99260 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Akka2使用探索2(Configuration)

阅读更多

 

akka2使用Typesafe Config库,可以使用ConfigFactory.load()加载配置文件,默认加载classpath下的application.conf, application.json and application.properties文件。ActorSystem将会把这些配置和reference.conf合并(merge)起来。

?

如果要写akka应用,将配置写在classpath根目录下的application.conf文件中。

如果要写基于akka的lib包,将配置写在jar包内的根目录下的reference.conf文件中.

问题:如果一个项目依赖多个基于akka的jar包,这些jar包中都有reference.conf,并且配置有冲突,它是怎么解决的呢?

?

可以合并config.

Returns a new value computed by merging this value with another, with keys in this value "winning" over the other one. Only ConfigObject and Config instances do anything in this method (they need to merge the fallback keys into themselves). All other values just return the original value, since they automatically override any fallback.
The semantics of merging are described in the spec for HOCON.
Note that objects do not merge "across" non-objects; if you write object.withFallback(nonObject).withFallback(otherObject), then otherObject will simply be ignored. This is an intentional part of how merging works. Both non-objects, and any object which has fallen back to a non-object, block subsequent fallbacks.

a.withFallback(b)? //a和b合并,如果有相同的key,以a为准

?

Clone the config with only the given path (and its children) retained; all sibling paths are removed.

a.withOnlyPath(String path)? //只取a里的path下的配置

?

Clone the config with the given path removed.

a.withoutPath(String path) //只取a里出path外的配置

?

ConfigFactory还有其他的API,用其他的方式(字符串、文件、Map、Properties、url等)加载配置文件,可以查看相应的api。

?

配置内容即可以是层级关系,也可以用”.”号分隔写成一行:

akka {
??? host = "0.0.0.0"
??? port = 9999
}
akka.host = "0.0.0.0"
akka.port = 9999

?

配置文件还可以在java启动参数中加载:

-Dconfig.resource=/dev.conf

?

也可以用include关键字引入其他的配置。比如可以把一些通用配置写在一个common.conf文件中,在自己的配置中只写个性配置,然后include “common”:

calculator {
? include "common"

? akka {
??? remote.netty.port = 2552
? }
}

0
3
分享到:
评论

相关推荐

    akka2.0使用方法

    以下是对Akka 2.0使用方法的详细讲解: 1. **Actor系统**:Akka的核心是Actor系统,它是所有Actor的容器。在使用Akka时,你需要创建一个ActorSystem实例,如`ActorSystem("MySystem")`,这将为你的应用提供上下文。...

    Akka 实战 akka in action v13 2014版本

    Akka是一个用于构建分布式、高并发、容错性应用...《Akka实战》一书不仅涵盖了Akka的核心概念和技术细节,还提供了大量实战案例和最佳实践,是那些希望深入了解并使用Akka构建高性能并发应用程序的开发者的重要资源。

    c#分布式框架akka范例

    在Akka.NET中,你可以使用`ActorSystem`来创建和管理Actor。Actor通过`Receive`方法定义其行为,即它如何处理不同类型的消息。 2. **消息传递**:Actor之间的通信是通过发送和接收消息进行的,这些消息可以是任何...

    akka_2.10-2.314

    Akka 2.10-2.314 版本是针对Scala 2.10.x平台的特定版本,它包含了该框架从2.10到2.3.14的改进和更新。 在Akka 2.3.14中,有几个关键的知识点值得深入探讨: 1. **Actor系统**:Akka的核心是Actor模型,它是一种...

    akka java实现tcp远程调用

    2. Akka ActorSystem:创建和配置ActorSystem以支持远程调用。 3. 配置文件:编写`application.conf`以启用远程部署和指定TCP设置。 4. 服务端和客户端Actor:定义Actor类,实现消息处理逻辑。 5. 远程Actor引用:在...

    IntelliJ IDEA使用SBT构建一个AKKA Scala程序

    本教程将详细介绍如何在IntelliJ IDEA中使用SBT来构建一个基于AKKA框架的Scala程序。 首先,你需要确保已经安装了IntelliJ IDEA和Scala插件。如果尚未安装,可以从官方网站下载并按照提示进行安装。同时,确保你的...

    Learning Akka(PACKT,2015)

    Akka is a distributed computing toolkit that enables developers to build correct concurrent and distributed applications using Java and Scala with ease, applications that scale across servers and ...

    akka实例参考

    2. **Actor**:Actor是Akka的基本执行单元,它通过消息传递与外界通信,每个Actor都有自己的邮箱来接收消息,保证了线程安全。 3. **消息传递**:Actor之间通过异步消息传递进行通信,这种模式避免了共享状态,降低...

    Akka开发库文档

    2. Akka是为Java程序员提供的并发解决方案,兼容其他JVM语言。 3. Akka提供了大量易用的API,可以帮助开发者更高效地编写代码。 在【部分内容】中,提到了Akka文档的结构,包括: - 介绍了Akka的基本概念和教程。 ...

    akka-kryo-serialization, 基于Kryo的Akka序列化.zip

    akka-kryo-serialization, 基于Kryo的Akka序列化 akka-kryo-serialization-- Scala 和Akka基于kryo的序列化程序这个库为 Scala 和Akka提供定制的基于kryo的序列化程序。 它可以用于更高效的akka远程处理。它还可以...

    AKKA (java) 精讲

    Camel 是一个基于路线和端点的规则引擎,这部分讲解了如何在 Akka 中使用 Camel。 #### 7. Utilities 这部分介绍了 Akka 提供的一些实用工具,包括事件总线、日志记录、调度器等。 #### 8. How To: Common ...

    Akka 基础学习pdf中文文档

    如何使用 Akka 来构建具备高容错性、可以横向扩展的分布式网络应用程序。Akka 是一 个强大的工具集,提供了很多选项,可以对在本地机器上处理或网络远程机器上处理的 某项工作进行抽象封装,使之对开发者不可见。...

    Akka.net分布式数据传输

    `Commons` 可能包含了一些通用的 Actor 类或工具类,`packages` 文件夹可能包含了 Akka.NET 相关的 NuGet 包,而 `WindowsFormsApp1` 可能是一个演示如何使用 Akka.NET 实现分布式数据传输的 Windows 应用程序。...

    akka的教学

    本教学内容将详细介绍 Akka 的基本概念、核心功能以及如何在 Java 中使用 Akka 来构建强大的应用程序。 ##### 1.1 什么是 Akka? Akka 是一个基于 Actor 模型的并发框架,由 Typesafe 开发,旨在帮助开发者构建高度...

    Learning Akka

    8. **案例研究**:书中可能会通过具体的案例,如构建聊天服务器、处理大量并发请求的服务、构建分布式数据库等,来展示如何使用Akka解决实际问题。 9. **最佳实践和设计模式**:学习Akka的过程中,了解和应用最佳...

    AkkaJava PDF Doc

    文档强调了在低版本Java环境下如何使用Akka进行高效的并发编程,并且通过具体的API介绍,帮助开发者理解和掌握Akka的使用方法。尤其对那些需要在遗留系统上进行维护或升级的开发者来说,这份文档提供了宝贵的信息和...

    Akka开发库开发包

    2. **基于角色(Actor-based)的并发模型**:Actor模型是Akka的核心,它是一种异步消息传递的并发模型。在Actor模型中,每个Actor都是一个独立的执行单元,拥有自己的状态并且只能通过消息与其他Actor交互。这种模型...

    akka java document

    - **微内核使用:** 如何使用 Akka 的微内核功能。 #### 八、常见模式 **8.1 定期调度消息** - **定时任务:** 如何使用 Akka 来定期发送消息。 **8.2 单次使用的 Actor 树与高级错误报告** - **单次使用 Actor 树...

Global site tag (gtag.js) - Google Analytics