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