[英]how to edit akka application.conf
我正在尋找有關如何編寫自定義application.conf的教程的日子。 我閱讀了akka文檔,並嘗試了Pi示例。
但是現在我想運行自己的配置。 我的目標是覆蓋路由器類型並更改路由數量。 這是我的代碼:
package org.sddb.playground
import akka.actor._
import com.typesafe.config.ConfigFactory
import akka.routing.RoundRobinRouter
object Test extends App {
case object Log
case object Ask
class Tester extends Actor with ActorLogging {
def receive = {
case Log => logging
case Ask => answer
}
def logging {
log error "error"
log warning "warning"
log debug "debug"
}
def answer {
log info "somebody asked"
}
}
val config = ConfigFactory.load
val system = ActorSystem("TestSystem", config.getConfig("test"))
val tester = system.actorOf(Props[Tester].withRouter(RoundRobinRouter(2)))
tester ! Log
tester ! Ask
tester ! PoisonPill
system.shutdown
}
我的application.config看起來是這樣的:
test {
akka.loglevel = DEBUG
deployment {
/tester {
router = broadcast
nr-of-instances = 5
}
}
}
可以進行調試級別的登錄,但是既沒有廣播,也沒有5個實例。 我的錯在哪里?
那是因為您正在顯式創建RoundRobinRouter(2)。 您必須改為傳遞FromConfig()
並且還必須傳遞“ tester”作為名稱。
編輯:
您的配置部分錯誤,應該是:
test {
akka.loglevel = DEBUG
akka.actor.deployment {
/tester {
router = broadcast
nr-of-instances = 5
}
}
}
但是你也可以做
akka {
loglevel = DEBUG
actor {
deployment {
/tester {
router = broadcast
nr-of-instances = 5
}
}
}
}
那么您不必手動傳遞配置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.