Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

Akka-basedなライブラリのコンフィギュレーションの場所

以前から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というコンフィグファイルもあるようで、これらの優先順位や立場などの理解を進めたいと思います。

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?