मुझे जावा ईई एप्लिकेशन बनाना है जो बड़े दस्तावेज़ों को विभिन्न प्रारूपों में परिवर्तित करता है। प्रत्येक रूपांतरण में 10 सेकंड और 2 मिनट लगते हैं। एसओएपी अनुरोध क्लाइंट एप्लिकेशन से किए जाएंगे जिन्हें मुझे बनाना होगा।लंबे समय तक चलने वाले वेब सेवा संचालन को कैसे संभालें?
सबसे अच्छा तरीका है इन लंबी चलने वाली अनुरोधों को हैंडल करने में क्या है? स्पष्ट रूप से प्रक्रिया को उपयोगकर्ता को बिना किसी प्रतिक्रिया के चलाने के लिए अधिक समय लगता है।
मैं निम्नलिखित तरीके प्रतिक्रिया के कुछ प्रकार प्रदान करने के लिए के बारे में सोच सकते हैं, लेकिन मुझे यकीन है कि अगर वहाँ एक बेहतर तरीका कुछ मानकीकृत नहीं है, शायद नहीं हूँ।
- क्लाइंट थ्रेड से अनुरोध करता है और सर्वर प्रतिक्रिया में दस्तावेज़ भेजता है, जिसमें कुछ मिनट लग सकते हैं। तब तक ग्राहक "कृपया प्रतीक्षा करें" संदेश, प्रगति स्पिनर इत्यादि दिखाता है (यह लागू करना आसान लगता है।)
- ग्राहक "प्रारंभ रूपांतरण" आदेश भेजता है। सर्वर किसी प्रकार का जॉब आईडी देता है जिसे ग्राहक अक्सर स्थिति अद्यतन या अंतिम दस्तावेज़ के लिए मतदान करने के लिए उपयोग कर सकता है। (यह उपयोगकर्ता के अनुकूल प्रतीत होता है, क्योंकि मैं प्रगति प्रदर्शित कर सकता हूं, लेकिन सर्वर को राज्यिक होने की भी आवश्यकता है।)
- ग्राहक "प्रारंभ रूपांतरण" आदेश भेजता है। किसी भी तरह से सर्वर क्लाइंट को सूचित करता है जब यह किया जाता है।
वहाँ अन्य तरीकों हैं (यहाँ मैं भी कैसे इस करने के लिए पता नहीं है)? प्रदर्शन, स्थिरता, गलती सहनशीलता, उपयोगकर्ता-मित्रता इत्यादि के मामले में कौन सा सबसे अच्छा है?
आपके उत्तरों के लिए धन्यवाद।
आप को कैसे खत्म किया था इस को लागू करने पर सर्वर परिणाम पूछने के लिए है का उपयोग कर देना चाहिए? मुझे इस सवाल का सामना करना पड़ रहा है और # 2 पर विचार कर रहा था, फिर मैंने आपका प्रश्न देखा और सोचा कि मैं पूछूंगा। – SqlRyan
मैं अभी भी इस पर हूं। क्योंकि यह एक शौक परियोजना है क्योंकि इसमें थोड़ा समय लगता है। लेकिन मुझे अभी भी विश्वास है कि # 2 सबसे अच्छा समाधान है। –