2015-06-04 76 views
0

我閱讀Akka v2.3.11文檔(Java,而不是 Scala),並且對於配置如何工作仍然有點困惑。在第2.9.2(「阿卡和JAR捆綁」),它規定:Akka默認與運行時配置

阿卡的配置方法在很大程度上依賴於具有其自身的reference.conf文件中的每個模塊/罐的概念,所有的這些都將是通過配置發現並加載。不幸的是,這也意味着如果您將多個jar放入/合併到同一個jar中,則還需要合併所有reference.conf。否則,所有默認設置都將丟失,Akka將無法使用。

作爲品牌新阿卡和演員,但已經是Java開發10年以上,我也從來沒有一次見過一個reference.conf文件中的任何JAR。那麼Akka在這裏談論什麼?他們暗示說,如果我的Akka項目使用Guice和Guava,那麼我需要爲每個文件定義reference.conf個文件?!?

另外,有人可以確認我對application.conf vs reference.conf的理解嗎?我的理解,你都應該定義一個reference.conf包含默認阿卡CONFIGS,然後還定義了application.conf重寫呢?如果這是真的,爲什麼首先使用reference.conf?爲什麼不使用application.conf?我很困惑。

回答

1

Akka使用類型安全配置庫,查看文檔https://github.com/typesafehub/config/blob/master/README.md,該文檔解釋reference.confapplication.conf之間的差異。

基本上reference.conf自帶Akka庫,用戶不應該碰它(但可以用作參考),除非將使用類型安全配置庫的多個jar(不需要akka jar)合併到一個jar中。

+0

啊謝謝@kostya(+1) - 所以確認:(1)'reference.conf'僅在阿卡庫(模塊/插件)和類型安全配置的lib知道在指定的人以覆蓋其默認值可用'application.conf',**是?? **再次感謝! – smeeb

+0

是的,這是正確的 – kostya