driver
を作成します およびconnection
マスター俳優で。次に、MongoConnection
のインスタンスを取得するようにワーカーアクターを設定します。 各ワーカーが接続(実際には接続プールへのプロキシ)への参照を持つように、コンストラクター引数として。次に、preStart
のようなもので 、マスターアクターにワーカー(ルーティングされていると想定しています)を作成させ、接続を引数として提供します。非常に単純化された例は次のようになります。
class MongoMaster extends Actor{
val driver = new MongoDriver
val connection = driver.connection(List("localhost"))
override def preStart = {
context.actorOf(Props(classOf[MongoWorker], connection).withRouter(FromConfig()))
}
def receive = {
//do whatever you need here
...
}
}
class MongoWorker(conn:MongoConnection) extends Actor{
def receive = {
...
}
}
このコードは正確ではありませんが、少なくとも私が説明した高レベルの概念を示しています。