以前からAkkaを利用したアプリケーションを作成しているのですが、Configurationの概念をうまく理解できていません。
まず、DHT((分散ハッシュテーブル))を実現するためのライブラリをAkkaとScalaで作成しました。P2PChordというライブラリです。
これがひとまず動くためのapplication.confをこのパッケージに置いています。
さて、これを実際に利用するアプリケーション(フロントエンド)をPlay 2.xで作成しています。
さきほどのP2PChordを利用するのですが、ここからP2PChordのConfigurationを変更する必要に迫られます。
たとえば、akka.remote.netty.portなどです。P2PChord単独のテストの際には、これはおざなりな値を設定していたのですが、実用となるとそうはいかないので、動的にConfigurationを変更しなければなりません。
また、この母艦アプリにもapplication.confが存在しています。
疑問
- P2PChordのConfigurationは母艦のapplication.confからはロードされないのか?
- P2PChordのConfigurationを母艦側から上書きできないのか?
- AkkaにおけるConfigurationは可搬的ではないのか?(ライブラリとしてパッキングすると後からの変更はできないのか)
どうやらAkkaはTypesafe Config Libraryというコンフィグライブラリを使用しているみたいです。
このあたりを読み込んでみようと思います。
また、application.confの他にも、reference.confというコンフィグファイルもあるようで、これらの優先順位や立場などの理解を進めたいと思います。