मैं 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 = {
...
}
}
यह कोड सटीक नहीं है, लेकिन कम से कम यह मेरे द्वारा वर्णित उच्च स्तरीय अवधारणाओं को दिखाता है।