मैं बैकएंड को एक नए जावा वेब ऐप के लिए डिज़ाइन कर रहा हूं और यह तय करने का प्रयास कर रहा हूं कि इवेंट बस का उपयोग करना है या नहीं; विशेष रूप से Guava EventBus
।इवेंट बस का उपयोग कब करें?
अधिकांश सर्वर-साइड अनुरोध तुल्यकालिक होंगे: यानी, उपयोगकर्ता डेटा का अनुरोध कर रहा है और कुछ सेकंड के भीतर प्रतिक्रिया की आवश्यकता है। हालांकि, वहां कुछ अनुरोध हैं जो असीमित हो सकते हैं और क्लाइंट-साइड पर "आग और भूल" हैं। जब तक वे अंततः संसाधित होते हैं, तो क्लाइंट प्रक्रिया में 2 सेकंड या 2 घंटे लगने पर कम ख्याल रख सकता है।
इन असीमित अनुरोधों के लिए, मै मैप किए गए यूआरएल पर सर्वलेट को सुनना चाहता हूं, अनुरोधों को कतार में प्रकाशित करें। एक उपभोक्ता तब प्रत्येक अनुरोध को रद्द कर देगा और उचित हैंडलर पर पहुंचाएगा। यह वह जगह है जहां EventBus
खेल में आ सकता है या नहीं। सही हैंडलर के अनुरोध को रूट करने के लिए व्यवसाय तर्क बहुत जटिल है। आमतौर पर एक ऊंट मार्ग सही समाधान होगा। मेरे उपयोग के मामले में, मैं सोच रहा हूं कि क्या मैं एक ही घटना बस में "प्रोसेसर" (ईवेंट हैंडलर) का एक गुच्छा तार कर सकता हूं, और उसके बाद प्रत्येक एक को फायरिंग और एक दूसरे से घटनाओं को प्राप्त करने तक अंत परिणाम प्राप्त होता है का उत्पादन किया।
मैं यह कहना चाहूंगा कि मैंने अपाचे कैमल का उपयोग करके पहले ही खोज की है, और मुझे विश्वास है कि यहां काम के लिए कैमल का सही टूल है। अफसोस की बात है, इस प्रश्न के दायरे से बाहर के कारणों के लिए, मैं इसका उपयोग नहीं कर रहा हूं। इसलिए मैंने ऊंट की तरह समाधानों को अपनाना शुरू कर दिया, इस तरह मैं गुवा के EventBus
पर पहुंचा। लेकिन यह शायद एक उपयुक्त प्रतिस्थापन नहीं हो सकता है।
मुझे लगता है कि मैं समस्या वर्गीकरण की तलाश कर रहा हूं कि Event Bus
पैटर्न हल हो जाता है, और फिर मुझे यह निर्धारित करने की आवश्यकता है कि यह मेरे उपयोग के मामले से मेल खाता है या नहीं।
धन्यवाद @ कॉलिनडी (+1) - हाँ मुझे लगता है कि मैं सोच रहा था कि प्रत्येक ग्राहक/प्रोसेसर एक पिनबॉल मशीन के अंदर पिनबॉल की तरह ईवेंट बस के आसपास एक घटना को उछाल सकता है। प्रत्येक ग्राहक पर, कार्यक्रम को संशोधित किया जाएगा, जिस तरह से 'संदेश'/'एक्सचेंज' कैमल प्रोसेसर के अंदर संशोधित हो जाता है। मैं अभी भी इसका उपयोग कर रहा हूं या मैन्युअल रूप से मैन्युअल वायरिंग प्रोसेसर के बीच फाड़ा हूं। यह डिकूप्लिंग है जिसमें मुझे रूचि है, लेकिन 'EventBus' अभी भी सर्वश्रेष्ठ (गैर-ऊंट) समाधान की तरह महसूस नहीं करता है। मैं आपको हरा चेक दे रहा हूं और अपने निर्णय और परिणामों के साथ वापस रिपोर्ट करूंगा। एक बार फिर धन्यवाद! – IAmYourFaja
यह मध्यस्थ का प्रकार है। – zgulser