मैं अक्का सीख रहा हूं और मैं यह समझने की कोशिश कर रहा हूं कि कलाकार एक-दूसरे से बात कैसे करें (चलो उन्हें A
और B
पर कॉल करें)। यह अनुरोध/प्रतिक्रिया परिदृश्य नहीं है, A
और B
किसी भी समय एक-दूसरे को संदेश भेज रहे हैं।अक्का अभिनेता फॉर बनाम एक अभिनेता आरफ
इस समय मुझे दो भाई अभिनेता मिल गए हैं जो दोनों दिशाओं में संदेशों को एक दूसरे के पास भेजते हैं। वे दोनों सीधे ActorSystem
पर बनाए गए हैं। मैंने शुरुआत में A
B
के निर्माता में ActorRef
पारित किया था। लेकिन मैं B
A
के निर्माता को पास नहीं कर सकता क्योंकि यह अभी तक मौजूद नहीं है, यानी मैं परिपत्र संदर्भों के लिए इस विधि का उपयोग नहीं कर सकता।
मैं actorFor
पढ़ रहा हूं और इससे मुझे अपने पथ का उपयोग करके एक अभिनेता को देखने दिया जाएगा। हालांकि, मैं इस सेटअप के साथ सहज नहीं हूं, क्योंकि यदि पथ बदलता है, तो यह संकलक द्वारा पकड़ा नहीं जाएगा। यह माता पिता है, A
और B
से माता-पिता को संदेश पारित करने के लिए है और फिर माता-पिता वापस A
और B
करने के लिए नीचे संदेश देना है,
एक अन्य विकल्प, हर अभिनेता पर विचार पहुंच नहीं है। लेकिन यह माता-पिता को संदेश प्रकारों को आगे और आगे पारित करने के लिए जोड़ता है।
अभिनेताओं को एक दूसरे के बारे में जागरूक करने के लिए लोग क्या रणनीतियां उपयोग कर रहे हैं? क्या मैं पथ से अभिनेताओं को देखने के बारे में बहुत सतर्क हूं?
क्या आपने अपने 'अभिनेता रिफ की तत्कालता करते समय' आलसी वाल 'का उपयोग करने का प्रयास किया है? मैं कल्पना कर सकता हूं कि यह परिपत्र निर्भरता को हल करने में मदद करेगा। मान लीजिए कि आप निश्चित रूप से स्कैला का उपयोग करते हैं ... – agilesteel
मैंने अभी इसे दिया और यह काम करता है। मुझे पता नहीं था कि आप परिभाषित होने से पहले आलसी वैल का संदर्भ लें - पागल सामान! पारितोषिक के लिए धन्यवाद। मुझे अभी भी यह जानने में दिलचस्पी होगी कि लोग एक्टोररफ्स बनाम पथों को पार करने के बारे में कैसा महसूस करते हैं। – Geoff
सुनिश्चित करें कि आपने http://doc.akka.io/docs/akka/2.0.2/general/addressing.html पढ़ लिया है। – sourcedelica