URL twitter の util に Eval とかあっておもしろいなー。compiler の Jar 参照して、 import scala.tools.nsc.interpreter とかやってる。なにに使ってるんだろ
2011-08-05 02:02:13 via web
twitterさんパネェ・・・ 設定ファイルまで Scala のソースコードで、 それを実行時にeval してる・・・
2011-08-05 19:13:51 via web
試してみた↓
実際使ってるのは Kestrel っていう Scalaでつくられた Message Queue のライブラリというかミドルウェア(?)
英語だったら README.md にそれなりに使い方まで詳しくかかれてるのでそれでいいと思いますが、
日本語の情報だったら*1このへんが詳しいよ
Twitterの大規模システム運用技術、あるいはクジラの腹の中(後編)〜Twitterのサブシステム「Unicorn」「Kestrel」「Flock DB」
kestrelを試してみたよ
kestrelのソースコード
kestrelの作者さんによるkestrelの紹介
kestrelのマニュアル和訳
kestrelのfanout-queuesについて
twitterでも利用されているメッセージキュー Kestrelを試す
このファイル が Scala コードとしての設定ファイル みたいです。トップレベルに
new KestrelConfig {
という無名クラスのインスタンスを生成するコードがあるので、普通にコンパイルするコードとしてはおかしいですよね。このファイルを実行時にこのあたりで読み込んで、Evalしてるようです。
8月17日 追記:
flockdbもevalしてるェ・・・
最初に設定ファイル読み込んでevalしてるところ
設定ファイル
他にもあった
haplocheirus
evalしてるところ
設定ファイル
もう全面的に設定ファイルはScalaで書いて、初期化時にEvalする方針なのだろうか・・・