2011-03-17 12 views
16

अक्का (जावा एपीआई) अभिनेता (अनटाइपएक्टर) और एप्लिकेशन में संदेश हैं। एपीआई अनुबंध के मुताबिक अगर कुछ संदेशों को एक ही अभिनेता को संबोधित किया जाता है, तो वे कतारबद्ध होते हैं और एक-एक करके संसाधित होते हैं।अक्का अभिनेता से संदेश कतार का आकार कैसे प्राप्त करें?

मैं कतार आकार के आधार पर अभिनेता में संदेश संभालना चाहता हूं। असल में: क्या फिलहाल कम से कम एक और संदेश कतारबद्ध है, वर्तमान में Actor.onReceive() में संभाला जाता है? इसका संग्रह करने के लिए अक्का रास्ता क्या है?

+2

बस याद रखें कि आप उस स्थिति में हैं जहां मेलबॉक्सबॉक्स() –

+0

प्राप्त करने के लिए आपके कॉल के बाद नैनोसेकंड जोड़ा जा सकता है;)। धन्यवाद! –

उत्तर

12

UntypedActor के भीतर से आप करते हैं:

getContext() getMailboxSize();।

+22

अब अक्का 2 में नहीं है http://letitcrash.com/post/17707262394/why-no-mailboxsize-in-akka-2 –

+2

आलेख से: _ यदि आप बिना नहीं कर सकते हैं, तो अपने आप को लिखना काफी आसान है मेलबॉक्स कार्यान्वयन, akka.dispatch पैकेज में लक्षणों पर निर्माण और पुस्तक-पालन कोड को enqueue() और dequeue() में डालना। फिर आप या तो डाउन-कास्टिंग (बुराई) का उपयोग कर सकते हैं या अपने मेलबॉक्स का ट्रैक akka.actor.Extension (अनुशंसित) में अपने अभिनेता के भीतर से आंकड़ों तक पहुंचने के लिए कर सकते हैं और जो भी आवश्यक हो ._ – Henrik

संबंधित मुद्दे