Portlet बी सर्वर-साइड तर्क प्रदर्शन करने की जरूरत नहीं है, तो आप बस पब/उप ग्राहक पर इस्तेमाल करते हैं और Portlet बी एक विशेष घटना है कि Portlet एक प्रकाशित करेंगे बात सुनो हो सकता था।
तो प्रवाह है:
- inital HTML पृष्ठ ग्राहक के लिए भेज दिया जाता है Portlet ए और बी Portlet पर साथ,।
- ग्राहक पर पब/सब सिस्टम प्रारंभ किया गया है। शायद amplifyjs जैसे कुछ का उपयोग करें।
- क्लाइंट पर पोर्टलेट बी "MyDataUpdated" (या जो भी सार्थक नाम आप विषय देना चाहते हैं) के लिए पंजीकृत है।
- क्लाइंट XHR के माध्यम से पोर्टलेट ए को एक सेवा संसाधन कॉल ट्रिगर करता है।
- सर्वर पर पोर्टलेट ए सेवा संसाधन कॉल के लिए तर्क करता है।
- सर्वर पर पोर्टलेट ए ग्राहक को अपनी प्रतिक्रिया वापस भेजता है।
- ग्राहक पर पोर्टलेट ए सेवा संसाधन प्रतिक्रिया का उपभोग करता है और "MyDataUpdated" विषय का उपयोग करके परिणाम प्रकाशित करता है।
- क्लाइंट पर पोर्टलेट बी "MyDataUpdated" ईवेंट की अधिसूचना प्राप्त करता है।
- क्लाइंट पर पोर्टलेट बी स्वयं को रीफ्रेश कर सकता है।
इस तरह से पब/उप का उपयोग करके एक दूसरे से पोर्टल decouples। यदि पोर्टलेट ए मौजूद नहीं है, तो पोर्टलेट बी टूट नहीं जाता है। अगर पोर्टल बी मौजूद नहीं है, तो पोर्टलेट ए टूट नहीं जाता है।
और अगर Portlet सी आता है के साथ और भी MyData प्राप्त करने में सक्षम है, इस portlet भी प्रकाशित करने "MyDataUpdated" घटनाओं शुरू सकता है, और Portlet बी इन घटनाओं भी पाने के लिए शुरू कर देंगे। यह मुफ्त में नए अपडेट हो जाता है!
स्रोत
2011-09-09 21:44:15
ही के लिए खोज ... किया आपको कुछ रास्ता मिल रहा है? –