Akka में, क्या "टाइप किए गए अभिनेता" एपीआई का उपयोग करने के अलावा किसी विशिष्ट स्थिर प्रकार के होने के लिए कलाकारों को संदेशों को प्रतिबंधित करने का कोई तरीका है जो आरपीसी शैली प्रोग्रामिंग मॉडल का उपयोग करते हैं?अभिनेता संदेशों को विशिष्ट प्रकारों तक सीमित कैसे करें?
क्या मैं अभिनेता सीमाओं पर स्थिर प्रकार की सुरक्षा को फेंकने के बिना अक्का के साथ संदेश गुजरने वाली शैली का उपयोग कर सकता हूं?
उदाहरण के लिए, मैं इस तरह कोड का उपयोग करना चाहते हैं:
sealed abstract class FooMessage
case object Foo extends FooMessage
case object Bar extends FooMessage
class FooActor extends Actor[FooMessage] {
def receive = {
case Foo =>() // OK
// Would raise a compiler error:
// case s: String => error("Can't happen, String is not a subtype of FooMessage")
}
}
val fooActor = actorOf[FooActor]
fooActor ! Foo // OK
// Won't compile:
fooActor ! "Hello"
शायद एक कुछ आधार विशेषता, आदि का विस्तार या एक निर्माण की तरह Either
प्रणाली के स्तर संदेशों के लिए अनुमति देने के लिए (Exit
है करने के लिए होगा)।
उपयोगी उत्तर के लिए धन्यवाद। क्या आपने (अक्का टीम) ने कभी भी अभिनेताओं को संदेशों में टाइप बाधाओं को जोड़ने की कोशिश की है, या क्या इसे कभी भी उपयोगी विचार नहीं माना गया है? – mkneissl
अतीत में सूची के बारे में बात की गई है, लेकिन हम हमेशा एक ही स्थान पर समाप्त होते हैं, कि टाइपेडएक्टर उस उपयोग के लिए है, और अभिनेता कुल गतिशील व्यवहार के लिए है। यदि आप अधिक नियंत्रण में महसूस करना चाहते हैं तो आप ActorRef के शीर्ष पर अपने स्वयं के अमूर्तता के साथ प्रयोग कर सकते हैं। क्या उससे मदद हुई? चीयर्स, √ –