默認狀況下是akka是會自動在類路徑下搜索.conf,.properties,.json格式文件並加載爲配置文件java
akka { actor { provider = "akka.remote.RemoteActorRefProvider" } remote { enabled-transports = ["akka.remote.netty.tcp"] netty.tcp { hostname = "127.0.0.1" port = 2553 } } }
private final ActorSystem system = ActorSystem.create("LocalSystem",ConfigFactory.parseString("loglevel = \"DEBUG\""));
方法1:json
private final ActorSystem system = ActorSystem.create("LocalSystem",ConfigFactory.parseResources("applicationtest.conf"));
方法2:app
private final ActorSystem system = ActorSystem.create("LocalSystem",ConfigFactory.load("applicationtest.conf"));
用Config提供的withFallback方法來來擴展默認的配置,好比說你的application.conf文件配置看起來以下dom
akka{ loggers = ["akka.event.slf4j.Slf4jLogger"] loglevel = DEBUG arun="hello" }
你新增了部分配置tcp
val config=ConfigFactory.parseString("""akka.loggers = ["akka.testkit.TestEventListener"]""") //主意下面這句,必定要 val system=ActorSystem("UniversityMessageSystem", config.withFallback(ConfigFactory.load()))
而且你須要合併新的配置進去ide
println (system.settings.config.getValue("akka.arun")) println (system.settings.config.getValue("akka.loggers"))
使用時:spa
final ActorSystem system = ActorSystem.create("akkademy", ConfigFactory.load().getConfig("akkademy"));
配置文件:.net
akkademy { akka { actor { provider = "akka.remote.RemoteActorRefProvider" } remote { enabled-transports = ["akka.remote.netty.tcp"] netty.tcp { hostname = "127.0.0.1" port = 2553 } } } } remoteakkademy { akka { actor { provider = "akka.remote.RemoteActorRefProvider" } remote { enabled-transports = ["akka.remote.netty.tcp"] netty.tcp { hostname = "127.0.0.1" port = 2553 } } } }
include "application"
很簡單吧。netty
akka.actor.deployment { # '/user/actorA/actorB' is a remote deployed actor /actorA/actorB { remote = "akka.tcp://sampleActorSystem@127.0.0.1:2553" } # all direct children of '/user/actorC' have a dedicated dispatcher "/actorC/*" { dispatcher = my-dispatcher } # '/user/actorD/actorE' has a special priority mailbox /actorD/actorE { mailbox = prio-mailbox } # '/user/actorF/actorG/actorH' is a random pool /actorF/actorG/actorH { router = random-pool nr-of-instances = 5 } } my-dispatcher { fork-join-executor.parallelism-min = 10 fork-join-executor.parallelism-max = 10 } prio-mailbox { mailbox-type = "a.b.MyPrioMailbox" }