पुनरारंभ करना मैं वर्तमान में अक्का (जावा संस्करण) में फॉल्ट सहिष्णुता और पर्यवेक्षक रणनीतियों को देख रहा हूं।अक्का जावा गलती सहिष्णुता और अभिनेता
पर... http://doc.akka.io/docs/akka/2.3.2/java/fault-tolerance.html और http://doc.akka.io/docs/akka/2.3.2/general/supervision.html#supervision
कुछ सवाल:
1) हम कभी जब हम जानते हैं कि अपवाद किस तरह की उम्मीद करने की कोशिश हमारे अभिनेताओं में/पकड़ ब्लॉक उपयोग करना चाहिए? क्यों या क्यों नहीं? यदि नहीं, तो क्या हम एक पर्यवेक्षक रणनीति पर निर्भर रहें जो कि बच्चे को फेंकने वाले अपवादों को प्रभावी ढंग से संभालने के लिए किया जाए?
2) डिफ़ॉल्ट रूप से, यदि किसी पर्यवेक्षक को मूल अभिनेता में स्पष्ट रूप से कॉन्फ़िगर नहीं किया गया है, तो ऐसा लगता है कि कोई अपवाद फेंकने वाले किसी भी बच्चे अभिनेता को डिफ़ॉल्ट रूप से पुनरारंभ किया जाएगा। क्या होगा यदि आपके पूरे सिस्टम में आपके कोई भी कलाकार राज्य नहीं लेता है ... क्या हमें वास्तव में पुनरारंभ करना चाहिए?
3) क्या होगा यदि system.actorOf (...) द्वारा बनाए गए आपके शीर्ष-स्तरीय कलाकार अपवाद फेंकता है? आप अभिनेता प्रणाली के बाहर पर्यवेक्षक रणनीति कैसे प्रदान करते हैं?
4) चलिए एक परिदृश्य मानते हैं जिसमें अभिनेता ए के एक बाल अभिनेता बी हैं। अब मान लें कि अभिनेता ए कुछ काम करने के लिए अभिनेता बी से पूछता है।
कुछ कोड इस प्रकार दिखाई देंगे:
Future<Object> future = Patterns.ask(child, message, timeout);
future.onComplete(new OnComplete<Object>() {
@Override
public void onComplete(Throwable failure, Object result) throws Throwable {
... handle here
}
अब ... क्या हुआ अगर अभिनेता एक किसी भी तरह एक अपवाद फेंकता है। डिफ़ॉल्ट रूप से इसे अपने पर्यवेक्षक द्वारा पुनरारंभ किया जाता है। सवाल यह है कि, क्या पूर्ण "बंद" अभी भी भविष्य में कभी-कभी निष्पादित हो जाता है, या फिर यह पुनरारंभ पर प्रभावी ढंग से "मिटा दिया जाता है"?
5) मान लीजिए कि मेरे पास पदानुक्रम है जैसे: ए-> बी-> सी। आइए यह भी मान लें कि मैं प्रीरस्टार्ट को ओवरराइड करता हूं ताकि मैं प्रभावी ढंग से अपने बच्चों को नहीं रोकूं। ए की प्रतिष्ठा पर वह getContext()। अभिनेता ओएफ (बी) कहता है, और बी के प्रतिष्ठा में वह getContext()। अभिनेता ओएफ (सी) कहता है। यदि ए अपवाद फेंकता है, तो एक से अधिक अभिनेता बी और एक से अधिक अभिनेता सी सिस्टम में मौजूद होंगे?
धन्यवाद!